# How to Use JSON_ARRAY_ELEMENTS() Function in PostgreSQL

> The JSON_ARRAY_ELEMENTS() is a built-in JSON function that accepts a JSON array as an argument and expands its top-level elements into a set of values.

PostgreSQL provides a **JSON** array data type which is similar to standard arrays in programming. It helps us store ordered collections in JSON format. JSON arrays are enclosed within square brackets “[ ]” and can have different data types like strings, objects, numbers, etc. Postgres offers several functions to work with the JSON data, and **JSON_ARRAY_ELEMENTS()** is one of them.

This post illustrates the basic syntax and working of the JSON_ARRAY_ELEMENTS() function in Postgres using practical examples.

 **How to Use JSON_ARRAY_ELEMENTS() Function in PostgreSQL?**

The JSON_ARRAY_ELEMENTS() is a built-in JSON function that accepts a JSON array as an argument and expands its top-level elements into a set of values.

 **Syntax**

Use the below-stated syntax to retrieve an expanded set of specified JSON array elements:
    
    
    JSON_ARRAY_ELEMENTS(array JSON)

 **Parameters**

The stated function accepts a single argument “array” that must be a JSON array.

 **Return Value**

An expanded set that consists of given JSON array elements.

 **Return Type**

The data type of the expanded set values will be JSON.

 **Example 1: Using JSON_ARRAY_ELEMENTS() Function**

The below code snippet demonstrates the use of the JSON_ARRAY_ELEMENTS() function in Postgres:
    
    
    SELECT JSON_ARRAY_ELEMENTS('[100, 110, 90, [120, -12], [13, 14]]');

The stated function retrieves an expanded set that consists of the specified array elements:

 **Example 2: Using JSON_ARRAY_ELEMENTS() Function as a Temp Table**

The return type of the JSON_ARRAY_ELEMENTS function is “SETOF” which allows us to utilize it as a temporary table. For this purpose, we can execute the JSON_ARRAY_ELEMENTS() function with the “SELECT *” statement as follows:
    
    
    SELECT * 
    FROM JSON_ARRAY_ELEMENTS('[100, 110, 90, [120, -12], [13, 14]]');

On successful execution of the JSON_ARRAY_ELEMENTS() function, you will get the following output:

This is how the JSON_ARRAY_ELEMENTS() function works in PostgreSQL.

 **Conclusion**

The **JSON_ARRAY_ELEMENTS()** is a built-in JSON function that accepts a JSON array as an argument and expands its top-level elements into a set of values. The return type of the JSON_ARRAY_ELEMENTS function is “SETOF” which allows us to utilize it as a temporary table. This post has demonstrated the working of the JSON_ARRAY_ELEMENTS() in PostgreSQL using suitable examples.

---
[View this page online](https://www.commandprompt.com/education/how-to-use-json_array_elements-function-in-postgresql/)