Skip to content

Test JSONPath, JMESPath, JSONata and SQL

Run queries against your document and see every match with its path. Expressions are parsed by a sandboxed evaluator, never eval.

Try it locally173 bytes · nothing leaves this page

Supported syntax

The JSONPath engine supports root and child access, bracket notation, wildcards, recursive descent, array indices, negative indices, slices, unions and filter expressions with comparisons, logical operators and existence checks.

  • $.users[*].email — project a field
  • $.orders[?(@.amount > 1000)] — filter records
  • $..id — recursive descent
  • $.items[0:5:2] — slices with a step

Other engines

JMESPath and JSONata use their maintained packages. The SQL engine is a compact dialect for arrays: SELECT, WHERE, GROUP BY, ORDER BY, LIMIT and count/sum/avg/min/max. It is not a full SQL database and does not support joins or subqueries.

Questions

Is eval used for filters?

No. A hand-written expression parser evaluates comparisons and property access against the document. Function calls outside the allowlist are rejected.

Can I save queries?

Yes, saved queries are stored locally with a name and description, and query history is kept in local storage.

Go further in the studio

This page is intentionally a single-purpose tool. The full studio adds synchronized views, profiling, data-quality rules, schema comparison, three-way merge, transformation pipelines, timelines and local persistence. Open it with the same document and continue where this page stops.

Open JSON Forge Studio →