Skip to content

Query JSON documents with JSONPath expressions and inspect matched values and paths.

Loading tool

About JSONPath Playground

Paste JSON and write a JSONPath expression to see every match, its normalized path and its type. Wildcards, recursive descent (..), array slices, unions and filter expressions like [?(@.price < 10)] are supported, and filters run in a sandboxed evaluator rather than eval. Results can be shown as values, paths or both, and clickable examples demonstrate common patterns.

Common uses

  • Test a JSONPath expression before using it in code, an API gateway or a test assertion
  • Extract specific fields from a large API response
  • Find the exact path to a deeply nested value
  • Learn JSONPath filter and slice syntax with examples

FAQ

What does $ mean in JSONPath?
$ is the root of the document, and every expression starts with it. For example, $.store.book[0] selects the first item of the book array under store.
What is the difference between . and .. in JSONPath?
A single dot selects a direct child, while .. (recursive descent) searches all levels below. $..author finds every author key anywhere in the document.
How do I filter array items by a condition?
Use a filter expression with @ for the current item, for example $..book[?(@.price < 10)] returns books with a price below 10, and [?(@.isbn)] returns items that have an isbn key.