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.
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.