SQLite json_array() Function

Savigo
You organize your data. Now organize your savings.
Set savings goals, track your progress, and stay on course.
Get Savigo for iPhone 

Summary: in this tutorial, you will learn how to use the SQLite json_array() function to create a JSON array from one or more values.

Introduction to the SQLite json_array() function #

In SQLite, the json_array() function allows you to return a JSON array from one or more values.

Here’s the syntax of the json_array() function:

json_array(value1, value2, ...)

In this syntax:

  • value1, value2, … are the values you want to convert into elements of the result JSON array.

The json_array() function returns a JSON array containing the arguments as its elements. If an argument has a type of TEXT, the json_array() converts into a JSON string.

If you don’t provide any arguments, the json_array() returns an empty JSON array.

If an argument is a BLOB, the function throws an error.

SQLite json_array() function examples #

Let’s take some examples of using the json_array() function.

1) Creating a JSON array of numbers #

The following example uses the json_array() function to create a JSON array that consists of numbers:

SELECT json_array(1,2,3);

Output:

json_array(1,2,3)
-----------------
[1,2,3]

2) Creating a JSON array of strings #

The following example uses the json_array() function to create a JSON array of strings:

SELECT json_array('hi', 'hello', 'hallo') greeting;

Output:

greeting
----------------------
["hi","hello","hallo"]

3) Creating a JSON array of mixed values #

The following example uses the jsonb_array() function to create a JSON array of values of various types:

SELECT
  json_array (
    NULL,
    'hello',
    1,
    json_array ('bye', 'good bye'),
    json_object ('name', 'bob')
  ) result;

Output:

result
--------------------------------------------------
[null,"hello",1,["bye","good bye"],{"name":"bob"}]

4) using the json_array() function with table data #

First, create a table called quarters:

CREATE TABLE quarters(
    id INTEGER PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    months JSON NOT NULL
);

Second, insert rows into the quarters table:

INSERT INTO quarters(name, months)
VALUES ('Q1', json_array('Jan','Feb','Mar')),
       ('Q2', json_array('Apr','May','Jun')),
       ('Q3', json_array('Jul','Aug','Sep')),
       ('Q4', json_array('Oct','Nov','Dec'));

Third, retrieve data from the quarters table:

SELECT * FROM quarters;

Output:

id  name  months
--  ----  -------------------
1   Q1    ["Jan","Feb","Mar"]
2   Q2    ["Apr","May","Jun"]
3   Q3    ["Jul","Aug","Sep"]
4   Q4    ["Oct","Nov","Dec"]

Summary #

  • Use the json_array() function to create a JSON array from one or more values.

Was this tutorial helpful?