# JSONata()

Query and transform JSON data using JSONata expressions. See https://jsonata.org for expression syntax.

**Requires Extension:** [JSONata Extension](https://download.lucee.org/#7FA79F92-0018-47F5-8C80E6C608C573BE)

```
JSONata( expression=string, data=any, bindings=struct, options=struct );
```

**Returns:** any

# Arguments

| Argument | Type | Required | Description | Default |
|----------|------|----------|-------------|---------|
| expression | string | Yes | JSONata expression string. Examples: "$sum(c)", "$.name", "orders[status='complete']", "{ 'total': $sum(items.price) }" |  |
| data | any | Yes | JSON data to query - can be a struct, array, or JSON string. |  |
| bindings | struct | No | Optional struct of variable bindings accessible in the expression. Example: { maxPrice: 100 } makes $maxPrice available. |  |
| options | struct | No | Optional struct with runtime options. Supported keys: timeout (milliseconds, default 5000), maxDepth (recursion limit, default 100), functions (struct of closures/UDFs to register as custom $functions). |  |

# Examples

*There are currently no examples for this function*







# Categories

[JSON](../../categories/json.md)

# See Also

[DeserializeJSON()](deserializejson.md), [SerializeJSON()](serializejson.md)