---
title: JSON Arrays
noindex: true
---
**Legacy Docs:** This page describes our legacy API. It will be deprecated in
a future version. Please use the [v2 API](/) where possible.
## Basic Usage
When dealing with JSON arrays, the array elements are “flattened” so that each
element can be searched individually. This means that if a JSON array is
encountered, each element in the array is treated as a separate value and
indexed accordingly. For example, given the following JSON structure:
```json
{
"metadata": {
"colors": ["red", "green", "blue"]
}
}
```
The JSON array in the colors field is flattened to emit separate terms for each
color. This allows for individual search queries like:
```sql Function Syntax
SELECT description, metadata
FROM mock_items
WHERE id @@@ paradedb.term('metadata.colors' , 'blue')
OR id @@@ paradedb.term('metadata.colors', 'red');
```
```sql JSON Syntax
SELECT description, metadata
FROM mock_items
WHERE id @@@
'{
"term": {
"field": "metadata.colors",
"value": "blue"
}
}'::jsonb
OR id @@@
'{
"term": {
"field": "metadata.colors",
"value": "red"
}
}'::jsonb;
```