{"title":"JSON Path","nodeType":"Manipulator","id":"*3IccdLfpFEAp9yoz","factoryName":"org.knime.json.node.jsonpath.multi.JSONPathNodeFactory","factoryId":"org.knime.json.node.jsonpath.multi.JSONPathNodeFactory","path":["Structured Data","JSON"],"owner":"knime","ownerAccountId":"account:team:b5f0848f-496d-4e6a-b869-fa3532248db7","description":"<p><a href=\"http://goessner.net/articles/JsonPath/\" rel=\"ugc nofollow noopener noreferrer\">JSONPath</a> is a query language for JSON, similar to XPath for XML.</p>\n            \t\t\t\n            <p>The result of a simple query (also called definite JSONPath) is a single value. The result of a collection query (also called indefinite JSONPath) is a list of multiple values. Results of JSONPath queries are converted to the selected KNIME type. If the result is a list and the selected KNIME type is not compatible, the execution will fail. If the result cannot be converted to the selected KNIME type, a missing value will be returned.</p>\n            \t\t\t\n            <p>JSONPath queries can be automatically generated via the node configuration dialog. To create a simple query, select a single value from the JSON-Cell Preview window and click &#34;Add single query&#34;. To create a collection query, select a value that is part of a list of values from the JSON-Cell Preview window and click &#34;Add collection query&#34;. Alternatively, you can write your own JSONPath query by clicking the &#34;Add JSONPath&#34; button.</p>\n                    Example input:\n\n            <pre>{&#34;book&#34;: [\n  {&#34;year&#34;: 1999,\n   &#34;title&#34;: &#34;Timeline&#34;,\n   &#34;author&#34;: &#34;Michael Crichton&#34;},\n  {&#34;year&#34;: 2000,\n   &#34;title&#34;: &#34;Plain Truth&#34;,\n   &#34;author&#34;: &#34;Jodi Picoult&#34;}\n]}\n</pre>\n                    \n            <p>Example JSONPath queries and evaluation results:\n <br />\n <b>$.book[0]</b>\n <br />\n <tt>{&#34;year&#34;: 1999, &#34;title&#34;: &#34;Timeline&#34;, &#34;author&#34;: &#34;Michael Crichton&#34;}</tt>( <i>JSON</i> or <i>String</i> single value)\n <br />\n <b>$.book[*].year</b>\n <br />\n <tt>[1999,2000]</tt>( <i>JSON</i> , <i>Int</i> or <i>Real</i> list)\n <br />\n <b>$.book[2].year</b>\n <br />\n <tt>?</tt>(no such part)\n <br />\n <b>$.book[?(&#64;.year&#61;&#61;1999)].title</b>\n <br />\n <tt>Timeline</tt>( <i>String</i> ) or <tt>&#34;Timeline&#34;</tt> ( <i>JSON</i> )</p>\n            <p>The default path ( <tt>$..*</tt> ) will select all possible subparts (excluding the whole JSON value).</p>\n            <p>When you request the paths instead of values for the <tt>$.book[0].*</tt> JSONPath, you will get the paths -in bracket notation- as a list of Strings:</p><ul><li>$[&#39;book&#39;][0][&#39;year&#39;]</li><li>$[&#39;book&#39;][0][&#39;title&#39;]</li><li>$[&#39;book&#39;][0][&#39;author&#39;]</li></ul>\n                 which are valid JSONPaths for the input JSON value.\n\n            \n            <p>The filters <tt>?(expr)</tt> can be used to select contents with specific properties, for example <tt>$..book[?(&#64;.publisher)]</tt> selects the books that specify their publisher ( <tt>&#64;</tt> refers to the actual element).</p>\n            <p>The JSON Path node uses the <a href=\"https://github.com/json-path/JsonPath\" rel=\"ugc nofollow noopener noreferrer\">Jayway JSONPath</a> implementation.</p>\n                    \n        \n        ","shortDescription":"Selects the defined paths from the selected JSON column.","keywords":[],"deprecated":false,"streamable":true,"tags":["Structured Data","JSON","Streamable"],"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkFFRDY1QURFRjRGMTFFNUJCQTVFNkU1RjA4Rjk4QjMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkFFRDY1QUVFRjRGMTFFNUJCQTVFNkU1RjA4Rjk4QjMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyNTRBNTE5Q0VGNEUxMUU1QkJBNUU2RTVGMDhGOThCMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQUVENjVBQ0VGNEYxMUU1QkJBNUU2RTVGMDhGOThCMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pui4KgwAAAHhSURBVHjajFJNaxpRFL0zk6iNn0XpSqKbgE0UNDX5BQYEcaOuiiS4y6ILEbKoEEhpfoCr/gAXpVAwu6yl/QGGYBtxVdcV41dn/Eicnjf4knFUyIMzb+bec869784T6Hm9Ak7NZvOJ0+l86/P5ZtFotB6JRH663e5iOp0eMZKqqqRfwnzfBq4h3oOY9AgEAhQKhf7KsnxYKBT+GA2keeUfXOxyucjj8ZDdbtcMJEkii8ViVRTlfTgc/hKPx6d6AxH4APEuI+dyOSqXy0qxWLzE9yfexXQ6pW63+2YwGJyRYYkQZxkpmUxSJpOh4XB4hffzSqVygfh3lrPZbNTr9ajf7x8vGbCBMVIsFtNIQIUnEb9iR+IGnU5ne5WB1qbVauUGT0mIVZabTCY8p64yaDISFwMJXQcJh8NBtVqN5xpGgw2QvgGf2+22FgApl8/n74LB4KbJZMpWq1Wq1+vc4KvRQEilUlswuPF6vTvsl2HafGAzvIu6zhrA/mg0UhaOgGnLMDgSRfE3LsvTUQziX0B8PB4rSzNgj1Kp1MLA3vn9/o+YeBPV/0HwANwCZ8ABxC12CwVBkAHi0O72OhjXPHa/1MFLFyrew+T1QmxVpTVitj2CL724A4hUvs8LCcb4fwEGACmdElmSxMDyAAAAAElFTkSuQmCC","views":[],"inPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"Table with JSON","description":"A table with JSON column"}],"outPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"Table","description":"Table with the found parts"}],"dynInPorts":[],"dynOutPorts":[],"additionalSiteInformation":{"url":"https://update.knime.com/analytics-platform/5.12","trusted":true,"enabledByDefault":true,"name":"KNIME Analytics Platform 5.12 Update Site","version":"5.12.0"},"dialog":[{"sectionName":"Settings","fields":[{"name":"Input","description":"The JSON column to select the paths from.","optional":false},{"name":"Remove source column","description":"When checked, the source column will be removed.","optional":false},{"name":"Outputs","description":"A summary of the paths to select from the input column. The selected row can be customized with the <b>Edit JSONPath</b> button below or by editing the cells within the table, double-clicking on a row.","optional":false},{"name":"Add single query","description":"Adds the (specific: only the selected) path for the cursor in <i>Preview</i> to the output columns table.","optional":false},{"name":"Add collection query","description":"Adds the (generic: the selected and the siblings within arrays) path for the cursor in <i>Preview</i> to the output columns table.","optional":false},{"name":"Add JSONPath","description":"Adds a new row to the <i>Outputs</i> table. This new entry selects all available paths in the JSON, regardless of current selection in <i>Preview</i> . This generic entry can then be manually edited to point to a specific path. To add a path to a value selected in <i>Preview</i> , use <b>Add single query</b> or <b>Add collection query</b> instead.","optional":false},{"name":"Edit JSONPath","description":"Allows to edit the selected row using a popup dialog.","optional":false},{"name":"Remove JSONPath","description":"Removes the selected row from the <i>Outputs</i> table.","optional":false},{"name":"JSON-Cell Preview","description":"A preview of the content of the first JSON value, if available, helps in writing JSONPath expressions. You can add new rows based on the cursor&#39;s location; move it to the <u>value</u> you want to select and click <b>Add single query</b> or <b>Add collection query</b> . When a row is selected in <i>Outputs</i> , the expected results are highlighted.","optional":false}]}],"links":[],"kudos":[{"accountId":"account:user:fd74d1b4-da47-4c58-86e7-4fdd8c45dce0","user":"lukass","date":"2022-08-30T07:09:24+00:00"}],"kudosCount":1,"bundleInformation":{"bundleVersion":"5.12.0.v202605291551","bundleName":"JSON related functionality for KNIME","bundleSymbolicName":"org.knime.json","bundleVendor":"KNIME AG, Zurich, Switzerland","featureSymbolicName":"org.knime.features.json","featureName":"KNIME JSON-Processing","featureVersion":"5.12.0.v202605291551","featureVendor":"KNIME AG, Zurich, Switzerland","extensionId":"*M6ImzgljvpBKaP13"},"frequentSuccessors":[{"id":"*aItro4n6xSMUuxg-","factoryName":"org.knime.base.node.preproc.ungroup.UngroupNodeFactory","probability":0.2911111111111111},{"id":"*DOkyMaii62U05xZ1","factoryName":"org.knime.base.node.preproc.filter.column.DataColumnSpecFilterNodeFactory","probability":0.10777777777777778},{"id":"*2xUDt4Z24aku4wiS","factoryName":"org.knime.json.node.totable.JSONToTableNodeFactory","probability":0.07888888888888888},{"id":"*3IccdLfpFEAp9yoz","factoryName":"org.knime.json.node.jsonpath.multi.JSONPathNodeFactory","probability":0.044444444444444446},{"id":"*jd2U-FYTI8jCbQls","factoryName":"org.knime.base.node.preproc.filter.row.RowFilterNodeFactory","probability":0.034444444444444444},{"id":"*ZgYyOm1P9VJVBE9e","factoryName":"org.knime.base.node.preproc.joiner.Joiner2NodeFactory","probability":0.028888888888888888},{"id":"*eOn8ibZnxIkY7XhT","factoryName":"org.knime.base.node.preproc.stringmanipulation.StringManipulationNodeFactory","probability":0.027777777777777776},{"id":"*GyRUByJzWSm3AXGk","factoryName":"org.knime.base.collection.list.split.CollectionSplitNodeFactory","probability":0.021111111111111112},{"id":"*5stmXk6zY_ORA4bC","factoryName":"org.knime.base.node.preproc.groupby.GroupByNodeFactory","probability":0.015555555555555555},{"id":"*OFhUBYYlMMQ7ZM3F","factoryName":"org.knime.base.node.flowvariable.tablerowtovariable.TableToVariableNodeFactory","probability":0.013333333333333334}]}
