JSONPath Tester
Query JSON with paths, wildcards, slices, and recursive descent without evaluating scripts.
What the JSONPath tester selects
A JSONPath query starts at $ and walks object members or array elements. A singular path such as $.store.book[0].title selects one value, while wildcards, slices, and recursive descent can produce an ordered list of matches. Each result includes the selected value and a normalized path back to its location in the input document.
Supported syntax and safety boundary
- Use .name or ['name'] for object members and [0] or [-1] for array indexes.
- Use .* or [*] for child wildcards, [start:end:step] for array slices, and ..name or ..* for recursive descent.
- Filter selectors, embedded JavaScript, functions, and shell-like expressions are rejected; the tool never evaluates query text as code.
- The tester validates JSON syntax before querying. It does not apply JSON Schema or prove that selected values satisfy an API contract.
JSONPath result interpretation
Zero matches means the valid query did not select a value in the current document; it is different from selecting a JSON null. Wildcards and recursive descent can return many values, and duplicate values at different locations remain separate matches because their normalized paths differ.
Related developer tools
Continue with JSON Pointer Evaluator, JSON Formatter, JSON Schema Validator.
How to Use JSONPath Tester
- Paste or edit a valid JSON document.
- Enter an RFC 9535-style path beginning with $.
- Review every matched path and value, or correct the reported syntax error.
- Copy the result list when you need it for debugging or tests.
Frequently Asked Questions
How is JSONPath different from JSON Pointer?
- JSON Pointer identifies one exact value with slash-separated tokens. JSONPath is a query language that can select multiple values with wildcards, slices, and recursive descent.
Does this tester support filter expressions?
- No. It intentionally supports a safe RFC 9535 core subset and rejects filters or script expressions instead of evaluating code. Use child names, indexes, wildcards, slices, or recursive descent.
Is the JSON document uploaded?
- No. JSON parsing and path evaluation run in your browser. Clipboard history, extensions, page scripts, and shared devices can still expose sensitive input.
Sources & references
Primary references: RFC 9535: JSONPath Query Expressions for JSON; RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format.
Last reviewed: