Supports $ .key ['key'] [0] [*] [1:5] .. and filters like [?(@.price < 10 && @.inStock)].
Supports $ .key ['key'] [0] [*] [1:5] .. and filters like [?(@.price < 10 && @.inStock)].
JSONPath is to JSON what XPath is to XML: a compact way to reach into a document and pull out the parts you want. This tester evaluates an expression against your payload as you type, so you can build a path incrementally instead of guessing. Notably, filter expressions are parsed rather than handed to eval() — a pasted expression can never execute code in your browser.
Matches update as you type, so a path can be built up piece by piece instead of guessed.
Wildcards, slices, unions, recursive descent and filters with comparisons and boolean operators.
Filter expressions are parsed rather than executed — pasting one can never run code in your browser.
Optionally return the path to each match, not just the value, so you can see where it came from.
Root ($), child access (.key and ['key']), array indices including negatives, wildcards ([*] and .*), slices ([1:5]), unions ([0,2]), recursive descent (..), and filters with ==, !=, <, <=, >, >=, =~ combined with && and ||.
Yes. Most JSONPath libraries implement filters by calling eval() or new Function(); this one parses the comparison itself, so no part of your expression is executed as code.
The status line says "No matches" rather than failing, which usually means a key name is misspelled or you are filtering on a value type that does not match — for example comparing a string to a number.