JSONPath Online logojsonpath.online

JSONPath Online Evaluator & Validator

A modern JSONPath playground with a VS Code-style editor. Validate expressions, debug errors, and generate copy-ready code for popular languages.

Input JSON

Live evaluation (300ms)

Result

JSON array of matches
[
  "Sayings of the Century",
  "Sword of Honour",
  "Moby Dick"
]

Generate Code

// npm i jsonpath-plus
import { JSONPath } from "jsonpath-plus";

const json = /* your JSON object */;
const result = JSONPath({ path: "$.store.book[*].title", json });
console.log(result);

JSONPath Syntax Cheatsheet

TokenMeaningExample
$Root object/array$.store.book
@Current node (in filters)$.book[?(@.price < 10)]
*Wildcard$.store.*
..Recursive descent$..author
[n]Array index$.store.book[0]
[a,b]Union$.store.book[0,2]
[start:end]Slice$.store.book[0:2]
[?()]Filter expression$.store.book[?(@.category=='fiction')]

Also exploring JSON queries?

Try our new JMESPath Online suite

Filter AWS CLI output, test JMESPath expressions, and export CSV instantly.

Open JMESPath →

New · XPath Online

XPath tester for Selenium, Playwright, and web scraping

Paste HTML or XML, validate XPath expressions with live highlights, and copy Selenium/Playwright code.

Open XPath →

FAQ

What is JSONPath?

JSONPath is a query language for JSON. It helps you select and extract values from JSON documents using path-like expressions.

How do I filter arrays in JSONPath?

Use filter expressions like $.items[?(@.price < 10)] to select array elements by conditions.

Why does my JSONPath return empty results?

Common reasons include invalid JSON input, a typo in keys, mismatched array/object structure, or using a JSONPath syntax not supported by your library.

Does this tool support recursive descent?

Yes. Use .. to search for keys at any depth, for example $..author.