SQLite
json_object()函数返回一个包含了由参数指定的所有键值对的 JSON 对象。
json_object()
语法
这里是 SQLite
json_object()的语法:
json_object(key, value[, key2, value2, ...])
参数
key必需的。对象中的键。
value必需的。对象中的
key的值。
返回值
json_object()函数评估参数中的所有的键值对,并返回一个包含了所有键值对的 JSON 对象。
由于 JSON 对象中的所有键为字符串,因此
json_object()会将不是字符串类型的
key转为字符串类型。为了保证程序的稳定性,我们一般使用字符串类型的
key.
如果参数中出现了重复的
key,
json_object()会将所有的
key都保留在 JSON 对象中。这是一个错误。
json_object()
示例
这里列出了几个常见的
json_object()示例。
示例 1
SELECT json_object('name', 'Jim', 'age', 20); json_object('name', 'Jim', 'age', 20)-------------------------------------{"name":"Jim","age":20}这里,
json_object()返回的 JSON 对象中由两个成员:
name和
age。其中
name的值为
'Jim',
age的值为
20。
重复的键
如果
json_object()的参数中出现了重复的键值对,SQLite
json_object()会保留所有的键值对。这是一个错误。
SELECT json_object('name', 'Jim', 'age', 20, 'name', 'Tim'); json_object('name', 'Jim', 'age', 20, 'name', 'Tim')----------------------------------------------------{"name":"Jim","age":20,"name":"Tim"}包含复杂的对象
复杂的 JSON 对象可以存储更多的信息。
SELECT json_object( 'name', 'Tim', 'age', 20, 'friend', json_object('name', 'Jim', 'age', 20), 'hobby', json_array('games', 'sports') ); json_object(------------------------------------------------------------{"name":"Tim","age":20,"friend":{"name":"Jim","age":20},"hobby":["games","sports"]}这里, 我们创建了如下 JSON 对象:
{ "age": 20, "name": "Tim", "hobby": ["games", "sports"], "friend": { "age": 20, "name": "Jim" }}其中:
hobby的值是个数组,通过
json_array()函数计算得出.
friend的值是个对象,通过
json_object()函数计算得出.
