Accurately extract data from JSON documents using JSONPath expressions. Supports recursive queries and filter expressions.
Enter JSON and a JSONPath expression
When you need to locate specific data within deeply nested JSON documents, manual traversal is inefficient and error-prone. The JSONPath evaluator uses a file path-like syntax (e.g., $..price) to quickly pinpoint any node within a JSON structure. JSONPath is a query language designed specifically for JSON. Its core unit is the path expression, which uses dot notation (.) to access properties and bracket notation ([]) to access array elements.
..) and filter expressions (?(@.price<10)).$.store.book[0].title.How does JSONPath match all elements in an array?
Use the wildcard [*]. For example, $.store.book[*].author will return an array of authors for all books.
Why is my filter expression returning no results?
First, check if the target field exists in the JSON document. Second, ensure the filter condition syntax is correct (e.g., numerical comparisons do not require quotes). A common mistake is writing ?(@.price<10) incorrectly as ?(@.price<'10').
JSON files larger than 5MB may cause browser lag. Query efficiency will significantly drop for deeply nested structures (over 20 levels). We recommend processing sensitive data in a local environment before uploading.
When handling API responses, prioritize using $[?(...)] to filter out invalid data instead of re-querying the backend. Typical use case: Extracting SKU numbers from a product list where the price is under 100 and stock is greater than 0. The expression would be: $.products[?(@.price<100 && @.stock>0)].sku