JSONPath Tester
Test JSONPath expressions against a JSON document with safe, browser-local evaluation.
How to use the JSONPath tester
- Paste a valid JSON document.
- Enter an expression beginning with
$. - Click Test JSONPath and inspect each matching value and normalized path.
Common expressions
$.store.book[0].titleselects one nested value.$.store.book[*].authorselects a property from every array item.$..pricefinds descendant properties named price.$.store.book[?@.price > 10]filters array children using a safe comparison.
RFC 9535 and implementation scope
RFC 9535 is the current IETF JSONPath standard. This tool intentionally exposes a conservative subset rather than claiming full compliance. Unsupported expressions fail clearly instead of falling back to arbitrary JavaScript evaluation. Bracket unions preserve selector order; slices support negative indexes and nonzero steps. Descendant selection visits children breadth-first. Filters accept @ or dot-property paths, scalar JSON literals, ==, !=, <, >, <=, >=, && and ||, without functions or parentheses. Bare paths test existence, including false and null values. Comparisons do not coerce types; missing paths never match a comparison. Dot names use ASCII letters, digits, underscores and dollar signs; quote other property names in brackets. Numbers use JavaScript precision.
Frequently asked questions
- What is JSONPath?
- JSONPath is a query syntax for selecting and extracting values from a JSON document. The modern standard is RFC 9535, published by the IETF in 2024.
- Which JSONPath syntax does this tool support?
- This browser implementation supports the common query forms documented on this page: root $, dot-property access, bracketed names and indexes, wildcards, array slices, descendant selection, and safe comparison filters. It does not claim complete RFC 9535 conformance.
- Why does an expression return no matches?
- Check the property names and array indexes first. JSONPath is case-sensitive, array indexes start at zero, and a filter only matches values satisfying its condition.
- Is JSONPath the same as JSON Pointer?
- No. JSON Pointer identifies a single location using a pointer syntax, while JSONPath is a query language that can select multiple values from a document.
- Does this tool execute JavaScript from a JSONPath filter?
- No. Filters are parsed and evaluated by explicit comparison logic. The tool does not use eval or execute user-supplied JavaScript.