JSONPath Tester
Evaluate JSONPath live — with wildcards, recursive descent and filters — and see every match and its exact path.
- $.store.book[0].title
"The Silent River"
- $.store.book[1].title
"Mountain Code"
- $.store.book[2].title
"Desert Gardens"
$ root · .key / ['key'] child · [0] / [-1] index · [*] wildcard · ..key recursive descent · [?(@.price > 10)] filters with ==, !=, >, >=, <, <= or bare existence [?(@.key)]. Slices and script expressions are not supported.Frequently Asked Questions
What JSONPath syntax is supported?
Root $, dot and bracket child access, numeric indexes including negative ones, wildcards [*] and .*, recursive descent (..key and ..[*]), and filters comparing @ fields with ==, !=, >, >=, <, <= plus bare existence checks like [?(@.key)]. Slices and script expressions are not supported and the page says so openly.
What does recursive descent (..) do?
It searches at every depth, not just direct children. $..price finds the price key in every object anywhere in the document — handy for exploring unfamiliar JSON before writing an exact path.
Why does my filter return nothing?
Check the types: price > 10 only matches numbers, and string comparisons need quotes, e.g. [?(@.color == 'red')]. Also remember the filter applies to items of an array — put it where the array is: $.store.book[?(@.price > 10)] not $.store[?(@.price > 10)] unless store itself is an array.
Is this the official JSONPath standard?
JSONPath was standardised as RFC 9535 in 2024; this evaluator implements the widely used core syntax (the same subset most libraries agree on). Where dialects differ — especially filters — test results here before wiring an expression into code.
Related Tools
JSON Formatter
Format, validate, and beautify JSON data with syntax highlighting.
Regex Tester
Test and debug regular expressions with live matching and highlighting.
JSON to CSV Converter
Turn a JSON array into clean CSV with automatic headers, ready for Excel or Sheets.