--- 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; ```