JsonPath Evaluator

JsonPath Evaluator

JSONPath evaluator is a free online tool used to evaluate and execute JSONPath expressions on JSON (JavaScript Object Notation) data or structures. JSONPath is a query language that allows you to navigate, query, and extract specific data from JSON documents or objects by specifying a path expression.

A JSONPath evaluator typically provides the following functionalities:

  1. Expression Parsing: It parses and interprets JSONPath expressions, which are used to specify the path to the desired data within a JSON document.

  2. Traversal: The evaluator traverses the JSON data structure based on the JSONPath expression, moving from one part of the structure to another according to the path elements.

  3. Selection: It selects and retrieves the data that matches the JSONPath expression. This can include individual values, arrays of values, or nested JSON objects.

  4. Filtering: JSONPath allows for filtering based on specific conditions, and the evaluator applies these filters to select the data that meets the specified criteria.

  5. Result Presentation: The evaluator typically presents the results in a structured format, such as a list of values or a structured JSON object.

Here are a few examples of JSONPath expressions along with descriptions of what each expression selects within a JSON document:


Consider the following JSON data representing a list of books:

JSON Input:

{ "store": { "book": [ { "title": "Book 1", "author": "Author 1", "price": 12.99 }, { "title": "Book 2", "author": "Author 2", "price": 9.99 }, { "title": "Book 3", "author": "Author 3", "price": 15.95 } ] } }
Select All Authors:

JSONPath Expression: $.store.book[*].author

This expression selects all the authors of the books in the "store" and returns an array of author names:

["Author 1", "Author 2", "Author 3"]
Select Prices Below $10:

JSONPath Expression: $.store.book[?(@.price < 10)].price

This expression selects the prices of books with a price less than $10:

Select Titles of Books by Author 2:

JSONPath Expression: $.store.book[?(@.author == "Author 2")].title

This expression selects the titles of books written by "Author 2":

["Book 2"]
Select All Books with Titles Starting with "Book":

JSONPath Expression: $.store.book[?(@.title =~ /^Book/)]

This expression selects all books whose titles start with "Book":

{ [{ "title": "Book 1", "author": "Author 1", "price": 12.99 }, { "title": "Book 2", "author": "Author 2", "price": 9.99 }, { "title": "Book 3", "author": "Author 3", "price": 15.95 }] }
Select the First Book:

JSONPath Expression: $.store.book[0]

This expression selects the first book in the list:

{ "title": "Book 1", "author": "Author 1", "price": 12.99 }

These examples demonstrate how JSONPath expressions can be used to navigate and extract specific data from JSON documents based on various criteria. JSONPath is a versatile tool for querying and manipulating JSON data in a structured and flexible manner.

JSONPath evaluators find applications in various scenarios, including:

  • Data Extraction: Retrieving specific data from complex JSON responses in web APIs.
  • Data Transformation: Transforming and restructuring JSON data for further processing or display.
  • Data Validation: Validating JSON data against predefined patterns or criteria.
  • Configuration Parsing: Reading and processing configuration files that use JSONPath to specify settings and values.

Many programming languages and libraries offer built-in JSONPath evaluators or provide third-party libraries for JSONPath evaluation. Developers can use these tools to work with JSON data more effectively by selecting, filtering, and extracting the information they need.

Popular tools