JSONPath Tester
Query a JSON payload with JSONPath and see the matches live — great for API assertions.
Supports $ . .. * [n] [-1] [0,2] [1:4] and filters like [?(@.price < 10)].
About JSONPath Tester
The JSONPath Tester runs a JSONPath query against a payload and shows the matches live — the fastest way to develop and debug the expressions you use in API test assertions, Postman tests, REST Assured checks or jq-style extraction scripts.
Paste a response, type a path, and watch the result update as you edit either side. It supports the everyday JSONPath dialect: child and recursive descent ($.store.book, $..price), wildcards, array indexing including negatives, slices, unions, and filter expressions like $[?(@.price < 10)]. The match count is shown with the results, which makes "why does my assertion match twice?" a five-second question.
How to use
- Paste your JSON payload into the "JSON" box (or click "Load sample JSON" for the classic bookstore example).
- Type a query into the "JSONPath" field — matches and their count update live as you type.
- Try the preset buttons to see common patterns: wildcards, recursive descent, filters, negative indices and unions.
- Copy the matched values from the output box into your test or bug report.
Frequently asked questions
Which JSONPath syntax is supported?
The root $, dot and bracket children, recursive descent (..), wildcards (*), array indices including negatives ([-1]), slices ([1:4], [::2]), unions ([0,2] or ['a','b']) and filters with comparison operators or existence tests, such as [?(@.price < 10)] or [?(@.active)].
Why does my filter return nothing?
Comparisons are type-strict: @.id == "42" does not match a numeric 42 — drop the quotes. Also check that the filter is applied to the array's elements (book[?(...)]) rather than to the array itself.
Will the same expression work in my test framework?
For the common core — paths, wildcards, indices, simple filters — yes. Edge cases like script expressions or regex matches vary between JSONPath implementations, so keep assertions to the shared subset when you can.
