Tester JSONPath
Ejecuta consultas JSONPath contra cualquier documento JSON. Coincidencias y rutas en tiempo real.
Introduce un valor arriba para ver el resultado.
What is this for?
JSONPath is to JSON what XPath is to XML — a query language for plucking specific values out of a nested document without writing custom code. $.store.books[*].title says "give me every book title under store"; $..price says "every price anywhere in the document". This tool runs a query live against any JSON you paste, showing both the matched values and the paths they came from, so you can iterate on the query until it returns exactly what you want.
When to use it
- Drafting a query for a tool that uses JSONPath: jq-like CLI utilities, Postman tests, Stedi, n8n, or AWS CloudWatch / Step Functions.
- Pulling specific fields out of a large API response without writing a script.
- Filtering an array by a field value (e.g. "all orders where total > 100").
- Sanity-checking that a deeply nested path actually resolves to a value before plumbing it into code.
Quick syntax reference
$— root of the document..nameor['name']— child by name...— recursive descent (any depth).*— wildcard (any property or array element).[n]— array index (negative counts from the end).[start:end:step]— array slice (Python-style).[a, b, c]— union of indices or names.[?(@.field > 5)]— filter expression.@= current item; supports== != < > <= >= && ||and=~ /regex/.
Common gotchas
- JSONPath has no single official spec. The original Stefan Gössner draft has been the de-facto reference for years; RFC 9535 (Feb 2024) finally standardised it. Implementations differ slightly — what works in Postman may not work in Jaeger.
- Dot vs bracket.
$.foo-barlooks like "foo minus bar" to the parser; use$['foo-bar']for property names with hyphens, dots, or spaces. - Filter expressions are JavaScript-flavoured here — that's a deliberate convenience but doesn't match RFC 9535 strictly. Don't rely on this tool's filters working byte-identical in another implementation.
$..*returns every node in the tree (depth-first), which can be a lot. Useful for exploring an unfamiliar document.- Numeric strings.
{"1": "a"}— accessing with$['1']works;$.1doesn't (numbers aren't valid as dot-property names). - Ordering. Object property order isn't guaranteed by JSON. If your filter depends on order, sort first.