Summary: in this tutorial, you will learn how to use the SQLite json_object()
function to create a JSON object.
Introduction to SQLite json_object() function
In SQLite, the json_object()
function accepts zero or more pairs of name/value arguments and converts them into properties of a JSON object. The first and second arguments in each pair are property name and value, respectively.
Here’s the syntax of the json_object()
function:
json_object(name1, value1, name2, value2, ...)
Code language: SQL (Structured Query Language) (sql)
In this syntax:
name1
,value1
, … are pairs of values that correspond to property names and values.
The json_object()
function returns a well-formed JSON object. If any value has a type of BLOB
, the function raises an error.
SQLite json_object() function examples
Let’s create JSON objects using the json_object()
function.
1) Basic json_object() function examples
The following example uses the json_object()
function to create an empty object:
SELECT json_object();
Output:
json_object()
-------------
{}
Code language: CSS (css)
The following example uses the json_object()
function to create a flat JSON object:
SELECT
json_object ('name', 'Bob', 'age', 25) person;
Code language: SQL (Structured Query Language) (sql)
Output:
person
-----------------------
{"name":"Bob","age":25}
Code language: SQL (Structured Query Language) (sql)
2) Creating a nested JSON object
The following example uses the json_object()
function to create a nested JSON object:
SELECT
json_object (
'name',
'Bob',
'age',
25,
'favorite_colors',
json_array ('blue', 'brown')
) person;
Code language: SQL (Structured Query Language) (sql)
Output:
person
----------------------------------------------------------
{"name":"Bob","age":25,"favorite_colors":["blue","brown"]}
Code language: SQL (Structured Query Language) (sql)
3) Using json_object() function with table data
We’ll use the customers
table from the sample database:
The following example uses the json_object()
function to create a JSON object including the first name, last name, and phone of each customer:
SELECT
json_object (
'first_name',
FirstName,
'last_name',
LastName,
'phone',
Phone
) customer
FROM
customers
ORDER BY
FirstName;
Code language: SQL (Structured Query Language) (sql)
Output:
customer
---------------------------------------------------------------------------
{"first_name":"Aaron","last_name":"Mitchell","phone":"+1 (204) 452-6452"}
{"first_name":"Alexandre","last_name":"Rocha","phone":"+55 (11) 3055-3278"}
{"first_name":"Astrid","last_name":"Gruber","phone":"+43 015134505"}
Code language: SQL (Structured Query Language) (sql)
Summary
- Use the
json_object()
function to return a JSON object.