0 ×

JSON Path (Dictionary)

JSON related functionality for KNIME version 3.6.1.v201808311614 by KNIME AG, Zurich, Switzerland

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 namepathtype
bookyear$.book[*].yearList(Double)
invalidyear$.book[2].yearDouble
timeline$.book[?(@.year==1999)].titleString
paths$..*List(Path)
Example input:
{"book": [
  {"year": 1999,
   "title": "Timeline",
   "author": "Michael Crichton"},
  {"year": 2000,
   "title": "Plain Truth",
   "author": "Jodi Picoult"}
]}
The results look like this:
bookyearinvalidyeartimeline
{1999, 2000}?Timeline
The paths column contains the following values (String list): $['book'], $['book'][0], $['book'][1], $['book'][0]['year'], $['book'][0]['title'], $['book'][0]['author'], $['book'][1]['year'], $['book'][1]['title'], $['book'][1]['author']

Options

JSON column
The name of the JSON column to extract content from the first input table.
Remove source column
When checked, the source column will be removed.
JSONPath
The name of the JSONPath column from the second input table.
Type of column
The name of the type column from the second input table. The content should be one of these values in each row:
  • Boolean - logical values (true/false)
  • Integer - integer values
  • Long - integer values (with possibly large absolute values)
  • Double - real (double precision floating point) numbers
  • String - string of characters/textual content
  • Json - another JSON values
  • Path - generate JSON paths
  • Base64 - binary objects (encoded as Base64 strings)
  • List(Boolean) - list of logical values (true/false)
  • List(Integer) - list of integer values
  • List(Long) - list of possibly large magnitude integer values
  • List(Double) - list of real (double precision floating point) numbers
  • List(String) - list of string of characters/textual content
  • List(Json) - list of another JSON values
  • List(Path) - generate list of JSON paths
  • List(Base64) - list of binary objects (encoded as Base64 strings)
  • Set(Boolean) - set of logical values (true/false)
  • Set(Integer) - set of integer values
  • Set(Long) - set of possibly large magnitude integer values
  • Set(Double) - set of real (double precision floating point) numbers
  • Set(String) - set of string of characters/textual content
  • Set(Json) - set of another JSON values
  • Set(Path) - generate set of JSON paths
  • Set(Base64) - list of binary objects (encoded as Base64 strings)
Output name
The name of the new output column from the second input table. (In case of conflict, a new column name will be generated.)

Input Ports

Table containing JSON column
Table containing JSONPath, type and output column name definitions.

Output Ports

Table with extracted columns appended

Best Friends (Incoming)

Best Friends (Outgoing)

Update Site

To use this node in KNIME, install JSON related functionality for KNIME from the following update site:

Wait a sec! You want to explore and install nodes even faster? We highly recommend our NodePit for KNIME extension for your KNIME Analytics Platform.