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

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

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.