Collects the parts specified by JSONPaths from a JSON column. For those parts that cannot be found or have incompatible types, missing values will be returned.
Example input table:| column name | path | type |
|---|---|---|
| bookyear | $.book[*].year | List(Double) |
| invalidyear | $.book[2].year | Double |
| timeline | $.book[?(@.year==1999)].title | String |
| paths | $..* | List(Path) |
{"book": [
{"year": 1999,
"title": "Timeline",
"author": "Michael Crichton"},
{"year": 2000,
"title": "Plain Truth",
"author": "Jodi Picoult"}
]}
The results look like this:
| bookyear | invalidyear | timeline |
|---|---|---|
| {1999, 2000} | ? | Timeline |
$['book'], $['book'][0], $['book'][1], $['book'][0]['year'], $['book'][0]['title'], $['book'][0]['author'], $['book'][1]['year'], $['book'][1]['title'], $['book'][1]['author']Boolean - logical values (true/false)Integer - integer valuesLong - integer values (with possibly large absolute values)Double - real (double precision floating point) numbersString - string of characters/textual contentJson - another JSON valuesPath - generate JSON pathsBase64 - binary objects (encoded as Base64 strings)List(Boolean) - list of logical values (true/false)List(Integer) - list of integer valuesList(Long) - list of possibly large magnitude integer valuesList(Double) - list of real (double precision floating point) numbersList(String) - list of string of characters/textual contentList(Json) - list of another JSON valuesList(Path) - generate list of JSON pathsList(Base64) - list of binary objects (encoded as Base64 strings)Set(Boolean) - set of logical values (true/false)Set(Integer) - set of integer valuesSet(Long) - set of possibly large magnitude integer valuesSet(Double) - set of real (double precision floating point) numbersSet(String) - set of string of characters/textual contentSet(Json) - set of another JSON valuesSet(Path) - generate set of JSON pathsSet(Base64) - list of binary objects (encoded as Base64 strings)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!