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.
Thank you for your feedback!