JSON Transform (JMESPath)
Query and transform JSON data using JMESPath expressions.
POST
1 credit
/v1/json-transform
curl -X POST "https://devtools.toolkitapi.io/v1/json-transform" \
-H "Content-Type: application/json" \
-d '{
"data": {
"users": [
{"name": "Alice", "age": 30, "role": "admin"},
{"name": "Bob", "age": 25, "role": "user"}
]
},
"expression": "users[?age > `27`].name"
}'
import httpx
resp = httpx.post(
"https://devtools.toolkitapi.io/v1/json-transform",
json={
"data": {
"users": [
{"name": "Alice", "age": 30, "role": "admin"},
{"name": "Bob", "age": 25, "role": "user"}
]
},
"expression": "users[?age > `27`].name"
},
)
print(resp.json())
const resp = await fetch("https://devtools.toolkitapi.io/v1/json-transform", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
"data": {
"users": [
{"name": "Alice", "age": 30, "role": "admin"},
{"name": "Bob", "age": 25, "role": "user"}
]
},
"expression": "users[?age > `27`].name"
}),
});
const data = await resp.json();
console.log(data);
# See curl example
Response
200 OK
{
"result": ["Alice"],
"expression": "users[?age > `27`].name"
}
Try It Live
Live Demo
Response
Description
Query and transform JSON data using JMESPath expressions.
How to Use
1
1. Pass your JSON payload in the `data` field. 2. Write a JMESPath expression to extract or reshape the data. 3. The `result` field contains the transformed output.
About This Tool
JSON Transform lets you query and reshape JSON data using JMESPath — a powerful query language for JSON. Extract nested values, filter arrays, project specific fields, and restructure payloads without writing code.
JMESPath supports dot notation, array slicing, multi-select, filtering, piping, and built-in functions like `length()`, `sort_by()`, `max_by()`, and more.
Why Use This Tool
- API response filtering — Pull only the fields you need from verbose API responses
- Data extraction — Grab nested values from complex JSON structures
- Array filtering — Filter arrays by conditions without code
- Reshaping payloads — Project and rename fields for downstream consumption
Frequently Asked Questions
What JMESPath features are supported?
Full JMESPath spec: dot notation, wildcards, array slicing, multi-select lists/hashes, filter projections, pipe expressions, and all built-in functions (`length`, `sort_by`, `max_by`, `contains`, `keys`, `values`, etc.).
What happens with an invalid expression?
You'll get an `error` field with the JMESPath parse error details instead of a result.
Start using JSON Transform (JMESPath) now
Get your free API key and make your first request in under a minute.