JSONPath Evaluator
Run JSONPath expressions against JSON and see matching values and their paths instantly.
What is JSONPath?
JSONPath is a query language for JSON, similar in spirit to XPath for XML. An expression like $.store.book[*].author lets you pull specific values out of a document — an array item, a deeply nested field, or every value matching a condition — without writing a loop by hand.
This evaluator runs your expression against your JSON directly in the browser using jsonpath-plus, a standard JSONPath implementation, and shows every match along with the exact path it was found at. Results update automatically a moment after you stop typing, so you can iterate on an expression and see the effect immediately.
JSONPath is commonly used to pull specific fields out of a large API response, extract values from logs or config files, or write assertions in API testing tools (many of which accept JSONPath expressions directly). Everything here runs locally — your JSON is never uploaded to a server.
JSONPath Syntax Reference
| Syntax | Meaning |
|---|---|
$ | The root of the document. |
.key | A child field, e.g. $.store. |
[*] | Wildcard — every item in an array or every value in an object. |
..key | Recursive descent — find key at any depth. |
[0] | A specific array index. |
[0,2] | A union of specific indices. |
[start:end] | A slice of an array, e.g. [-1:] for the last item. |
[?(@.field > 1)] | A filter expression using the current item as @. |
Example
The classic bookstore example used across JSONPath documentation, with a few expressions worth trying (also available from the Examples dropdown in the tool above).
{
"store": {
"book": [
{ "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "price": 8.99 },
{ "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "price": 22.99 },
{ "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }
],
"bicycle": { "color": "red", "price": 19.95 }
}
}$.store.book[*].titleWildcard — every title in the book array.
$..priceRecursive descent — every price anywhere in the document.
$.store.book[?(@.price < 10)]Filter expression — books matching a condition.
$.store.book[0,1]Union — specific indices by position.
$.store.book[-1:]Array slicing — the last element.
$.store..*Recursive descent — every node under store.
Features
Standard Syntax
Powered by jsonpath-plus, supporting the full range of common JSONPath operators.
Recursive Descent
Use .. to find a key at any depth, no matter how deeply nested your document is.
Filter Expressions
Match array items by condition with ?(@.field > value) style filters.
Slicing & Unions
Select ranges with [start:end], specific indices with [0,2,4], and more.
Inline Errors
Invalid JSON or a malformed expression shows a clear message without breaking the page.