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!Do you have feedback, questions, comments about NodePit, want to support this platform, or want your own nodes or workflows listed here as well? Do you think, the search results could be improved or something is missing? Then please get in touch! Alternatively, you can send us an email to mail@nodepit.com.
Please note that this is only about NodePit. We do not provide general support for KNIME — please use the KNIME forums instead.