JSON Query Playground
// Query and extract data from JSON using JSONPath expressions
No matches to display
Execute a JSONPath query to extract and inspect individual matches.
How to Use JSON Query Playground
Interactive GuideWrite queries to search, filter, and explore your JSON data. Start with simple field matching and gradually build more powerful nested and recursive queries.
Provide any JSON payload, API response, or nested structure in the left editor.
Use standard JSONPath syntax with dot notation, array indexes, or filter expressions.
Inspect matched items with precise path locations, type badges, and item counts.
A basic query accesses properties directly using dot notation or array brackets. The symbol $ represents the root document.
{
"users": [
{
"id": 1,
"name": "John",
"age": 25,
"role": "developer"
},
{
"id": 2,
"name": "Jane",
"age": 30,
"role": "designer"
}
]
}$.users[*].nameSearches the users array and extracts each user's name.
["John", "Jane"]$.users[0]Accesses only the first user object at index 0.
{ "id": 1, "name": "John", ... }Click Load on any card to populate both the sample JSON and query expression directly into the playground editor above:
Extract all user names from an array of objects.
$.users[*].name["John", "Jane"]Filter users who are older than 25.
$.users[?(@.age > 25)].name["Jane"]Find users who are developers AND at least 20 years old.
$.users[?(@.role == 'developer' && @.age >= 20)].name["John"]Query deeply nested profile locations across user objects.
$.users[*].profile.location.city["Surat", "Mumbai"]Extract the first 2 items of an array using slice notation.
$.products[0:2].name["Pro Gaming Laptop", "Wireless Mouse"]Filter in-stock electronics under budget and extract names.
$.products[?(@.category == 'Electronics' && @.inStock == true && @.price <= 80000)].name["Pro Gaming Laptop"]Find all "skills" arrays anywhere in the organization tree.
$..skills[["React", "TypeScript"]]