JSONPath Tester & Evaluator
Query, extract, and filter complex JSON payloads using standard JSONPath expressions. Test your queries securely in your browser without transmitting sensitive data over the internet.
How to use
Paste your raw JSON document into the input editor or upload a .json file.
Enter your JSONPath expression (such as $.store.book[*].title or $..author) in the query bar.
Click Evaluate Query or select a preset expression to extract matching nodes in real time.
View the formatted results with match count indicators, copy output to clipboard, or download as a .json file.
What is JSONPath?
JSONPath is a declarative query language designed to extract specific values, objects, and subsets from JSON documents, functioning similarly to XPath in XML. Originally proposed by Stefan Goessner in 2007 and formalized under RFC 9535, JSONPath allows software developers, QA engineers, and DevOps practitioners to query deeply nested data without authoring custom traversal algorithms.
Common JSONPath Syntax Operators
| Operator | Description | Example Expression |
|---|---|---|
$ | The root object or element | $ |
. or [] | Child member access | $.store.book or $['store']['book'] |
.. | Recursive descent (searches all descendants) | $..author (finds all author keys anywhere) |
* | Wildcard (matches all elements or members) | $.store.book[*] |
[start:end:step] | Array slice operator | $.store.book[0:2] |
[?(@.expr)] | Filter expression (predicates) | $.store.book[?(@.price < 10)] |
@ | Current node being processed in filter | $[?(@.active == true)] |
Real-World Use Cases for JSONPath
- Kubernetes CLI (kubectl): Extracting pod IPs, node conditions, and container image tags using
kubectl get pods -o jsonpath='{...}'. - API Automated Testing: Asserting dynamic responses in tools like Postman, REST Assured, and Newman test suites.
- Workflow Automation: Filtering payloads in AWS Step Functions, Azure Logic Apps, and GitHub Actions step outputs.
- Microservice Gateways: Transforming and masking sensitive request/response payloads in API gateways like Kong and Apigee.
Complete Browser-Based Privacy
Debugging production logs or API payloads often involves user identifiers, tokens, and internal server records. Our JSONPath tester processes all evaluations entirely within your browser's client-side runtime using Web Workers. No payloads or query queries are sent across the wire or logged remotely.
Frequently asked questions
What is the difference between JSONPath and jq?
JSONPath is a standardized query language (RFC 9535) primarily focused on extracting data paths from JSON. jq is a more comprehensive command-line processor that includes full functional programming, conditional transformations, math operations, and object reshaping.
Does this tool support recursive descent (..)?
Yes. The recursive descent operator ($..) is fully supported and allows you to locate all properties matching a given key regardless of their nesting depth.
Can I filter objects based on property values?
Yes. You can use filter expressions such as $[?(@.price > 20)] or $[?(@.status == 'active')] to filter items conditionally.
Does my JSON data get sent to a remote server?
No. All parsing and query evaluations happen 100% locally in your web browser. No network requests are made with your data.
What happens if a JSONPath query does not find any matches?
If no elements match your expression, the evaluator returns an empty result ([]) and displays a '0 matches found' indicator.