Hub
Pricing About
NodeNode / Manipulator

JSON Path

Structured DataJSONStreamable
Drag & drop
Like

JSONPath is a query language for JSON, similar to XPath for XML.

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.

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 "Add single query". To create a collection query, select a value that is part of a list of values from the JSON-Cell Preview window and click "Add collection query". Alternatively, you can write your own JSONPath query by clicking the "Add JSONPath" button.

Example input:
{"book": [
  {"year": 1999,
   "title": "Timeline",
   "author": "Michael Crichton"},
  {"year": 2000,
   "title": "Plain Truth",
   "author": "Jodi Picoult"}
]}

Example JSONPath queries and evaluation results:
$.book[0]
{"year": 1999, "title": "Timeline", "author": "Michael Crichton"} ( JSON or String single value)
$.book[*].year
[1999,2000] ( JSON , Int or Real list)
$.book[2].year
? (no such part)
$.book[?(@.year==1999)].title
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:

  • $['book'][0]['year']
  • $['book'][0]['title']
  • $['book'][0]['author']
which are valid JSONPaths for the input JSON value.

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).

The JSON Path node uses the Jayway JSONPath implementation.

Node details

Input ports
  1. Type: Table
    Table with JSON
    A table with JSON column
Output ports
  1. Type: Table
    Table
    Table with the found parts

Extension

The JSON Path node is part of this extension:

  1. Go to item

Related workflows & nodes

  1. Go to item
  2. Go to item
  3. Go to item

KNIME
Open for Innovation

KNIME AG
Talacker 50
8001 Zurich, Switzerland
  • Software
  • Getting started
  • Documentation
  • Courses + Certification
  • Solutions
  • KNIME Hub
  • KNIME Forum
  • Blog
  • Events
  • Partner
  • Developers
  • KNIME Home
  • Careers
  • Contact us
Download KNIME Analytics Platform Read more about KNIME Business Hub
© 2025 KNIME AG. All rights reserved.
  • Trademarks
  • Imprint
  • Privacy
  • Terms & Conditions
  • Data Processing Agreement
  • Credits