JSONPath is a similar to XPath alternative for JSON.
The result can be a single value or a list of multiple values.
There are two notations, dot-notation:$.book[1].title and bracket-notation: $['book'][1]['title'] (indexing starts from 0, negative indices are relative to the last element).
Example input:
{"book": [
{"year": 1999,
"title": "Timeline",
"author": "Michael Crichton"},
{"year": 2000,
"title": "Plain Truth",
"author": "Jodi Picoult"}
]}
Example results:
$.book[0] - {"year": 1999,
"title": "Timeline",
"author": "Michael Crichton"} (JSON or String single value)
$.book[*].year - [1999,2000] (JSON or Int or Real list)
$.book[2].year - ? (no such part)
$..author - Timeline (String) or "Timeline" (JSON)
The default path ($..*) will select all possible subparts (excluding the whole JSON value).
When you request the paths instead of values for the $.book[0].* JSONPath, you will get the paths -in bracket notation- as a list of Strings:
The filters ?(expr)can be used to select contents with specific properties, for example $..book[?(@.publisher)] selects the books that specify their publisher (@ refers to the actual element).
$.['book'][0]).You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.
To use this node in KNIME, install the extension KNIME JSON-Processing from the below update site following our NodePit Product and Node Installation Guide:
A zipped version of the software site can be downloaded here.
Deploy, schedule, execute, and monitor your KNIME workflows locally, in the cloud or on-premises – with our brand new NodePit Runner.
Try NodePit Runner!