What JSONPath syntax is supported here?
The root $, child access with dots, recursive descent with .., wildcards with [*], numeric array indexing with [n], and comparison filters of the form [?(@.field op value)] where op is ==, !=, >, <, >= or <=. That covers the large majority of practical expressions.
How is JSONPath different from jq?
JSONPath is a selection syntax: it finds and returns matching nodes. jq is a full transformation language — it can reshape, aggregate, map and construct new documents. If you only need to pull values out, JSONPath is shorter; if you need to build a new structure from them, jq is the better tool.
Why does my expression return nothing?
Most often a path segment does not exist at the level you assumed — try shortening the expression step by step until it matches, then extend it. Also check that you used .. rather than . if the target is nested at an unknown depth, and that string comparisons in filters are quoted.
Are JSONPath implementations consistent?
No, and this is a common source of surprise. JSONPath was never formally standardised until RFC 9535 in 2024, and libraries in different languages diverge on filters, unions and how results are ordered. Expressions that work here should be re-checked against the library you deploy with.
Can I filter on nested fields?
Yes — a filter can reach into nested keys with dots, for example [?(@.customer.vip == true)]. The comparison value can be a number, a quoted string, or true/false.
Does the query run on a server?
No. The document is parsed and queried in your browser, so nothing you paste is transmitted.