Upload or paste JSON to visualize, search, and export. 100% free, 100% private.
Your complete guide to JSON syntax, JSONPath queries, and data exploration
JSON (JavaScript Object Notation) is a lightweight, human-readable data interchange format. It is language-independent and widely used for APIs, configuration files, and data storage. JSON supports two primary structures:
{}[]JSONPath is a query language for JSON, similar to XPath for XML. Use these expressions to navigate and extract data from JSON documents:
| Expression | Description | Example |
|---|---|---|
$ |
Root object/element | $ → entire document |
.property |
Child property | $.store.book |
[n] |
Array index (0-based) | $.users[0] → first user |
[*] |
All elements in array | $.users[*].name → all names |
[start:end] |
Array slice | $.items[0:5] → first 5 items |
.. |
Recursive descent | $..price → all prices |
[?(@.condition)] |
Filter expression | $..book[?(@.price<10)] |
{
"id": 12345,
"name": "Jane Smith",
"email": "jane@example.com",
"roles": ["admin", "editor"],
"profile": {
"avatar": "https://...",
"bio": "Software Engineer"
},
"active": true
}
{
"status": "success",
"data": {
"items": [
{"id": 1, "name": "Item A"},
{"id": 2, "name": "Item B"}
],
"total": 2,
"page": 1
},
"timestamp": "2026-03-15T00:00:00Z"
}
Connect your LLM provider to query CSV, Parquet, and JSON files using natural language through MCP services. No database required.
Explore Data Library →Given the sample JSON below, here are practical JSONPath query examples and their results:
{
"store": {
"name": "TechMart",
"books": [
{"title": "JSON Guide", "price": 19.99, "inStock": true},
{"title": "API Design", "price": 29.99, "inStock": false},
{"title": "Data Patterns", "price": 24.99, "inStock": true}
],
"location": {"city": "Austin", "zip": "78701"}
}
}
| JSONPath Query | Result |
|---|---|
$.store.name |
"TechMart" |
$.store.books[0] |
{"title": "JSON Guide", "price": 19.99, ...} |
$.store.books[*].title |
["JSON Guide", "API Design", "Data Patterns"] |
$.store.books[-1] |
{"title": "Data Patterns", ...} (last item) |
$.store.books[0:2] |
[first 2 books] |
$..price |
[19.99, 29.99, 24.99] (all prices) |
$.store.books[?(@.inStock==true)] |
[books where inStock is true] |
$.store.books[?(@.price<25)] |
[books under $25] |
$.store.location.* |
["Austin", "78701"] |
| KEY | VALUE | ACTIONS |
|---|
Find and identify text patterns in your data
\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}
\+\d{1,3}[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9}
\d{5}(-\d{4})?
[A-Za-z]\d[A-Za-z]\s?\d[A-Za-z]\d
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4}
\d{3}-\d{2}-\d{4}
(0?[1-9]|1[0-2])/(0?[1-9]|[12]\d|3[01])/\d{4}
\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])
https?://[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}[/\w.-]*
(www\.)?[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
[a-zA-Z0-9_]{3,20}
#[a-zA-Z0-9_]+
g = global (all matches), i = case-insensitiveTransform and sanitize your data with pattern replacement
Hide sensitive information like SSN, credit cards
\d{3}-\d{2}-\d{4}
XXX-XX-XXXX
Standardize phone numbers, dates, addresses
(\d{3})[-.](\d{3})[-.](\d{4})
($1) $2-$3
Remove unwanted characters or whitespace
\s+
(single space)
Update domains, protocols, or query params
http://([a-zA-Z0-9.-]+)
https://$1
Wrap values with tags, quotes, or identifiers
^(.+)$
ID-$1
Show only last 4 digits of card numbers
\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?(\d{4})
****-****-****-$1
() in your pattern to capture parts$1, $2, etc.Pull specific values from complex text using capture groups
Get just the domain from email addresses
[a-zA-Z0-9._%+-]+@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})
1 (first capture group)
Get area code from phone numbers
\(?(\d{3})\)?[-.\s]?\d{3}[-.\s]?\d{4}
1
Get numeric value from currency strings
\$(\d{1,3}(?:,\d{3})*(?:\.\d{2})?)
1
Pull just the year from various date formats
\d{1,2}/\d{1,2}/(\d{4})
1
Get numeric IDs from prefixed strings
[A-Z]+-(\d+)
1
Get the path portion from URLs
https?://[^/]+(/.*)
1
0 = entire match (default)1 = first () in pattern2 = second () in pattern, and so on...
col_0.toUpperCase()).
Select a category to view examples
Click an example to use it
Edit and test your transformation
Click an example to use it
Build filter to include/exclude rows
Configure your report settings before exporting
Choose which sections to include in your export
Loading...