Test JSONPath queries against JSON data and see matching results instantly. Supports dot notation, bracket notation, wildcards, array slices, filters, and recursive descent. Free.
JSON Path Tester β Evaluate JSONPath Queries Free Online
JSONPath is the standard way to query and extract values from JSON data. Whether you're writing filter conditions for AWS Step Functions, building Kubernetes admission webhook rules, constructing API test assertions in Postman or REST Assured, or processing JSON in a data pipeline, JSONPath expressions let you pinpoint exactly the values you need from deeply nested structures. Testing those expressions before deploying them saves debugging time.
JSONPath vs JavaScript
JSONPath provides a concise, readable way to express queries that would otherwise require multiple nested property accesses and array methods in JavaScript. The expression $.store.book[?(@.price < 10)].title is more readable and portable than the equivalent JavaScript data.store.book.filter(b => b.price < 10).map(b => b.title). JSONPath is language-agnostic β the same expression works in Java, Python, Go, Ruby, and any language with a JSONPath library.
Recursive Descent
The recursive descent operator (..) is one of JSONPath's most powerful features. It searches for a key or applies a selector at every level of nesting, rather than just the immediate children. $..price returns every price value in the entire document regardless of how deeply nested it is. This is particularly useful for documents with irregular or variable-depth structures where the same key may appear at different levels.
Filter Expressions in Practice
Filter expressions ([?(@.key op value)]) enable conditional selection from arrays. They are essential for queries like "find all orders with status pending", "select all users with role admin", or "get all products priced under Β£50". The @ symbol represents the current element being tested, making filter expressions self-referential. Existence filters β [?(@.isbn)] β select only elements that have a particular key, filtering out elements where the key is absent.