SQLite
json_set()函数在一个 JSON 文档中插入或更新数据并返回新的 JSON 文档。
json_set()
语法
这里是 SQLite
json_set()的语法:
json_set(json, path, value[, path2, value2] ...)
参数
json必需的。被修改的 JSON 文档。
path必需的。一个有效的路径表达式。
value必需的。新的数据。
返回值
json_set()函数在一个 JSON 文档中插入或更新数据并返回新的 JSON 文档。您可以提供多对
path-value参数,以便一次替换多个数据。
如果 JSON 文档中不存在指定的路径,
json_set()函数会插入新的数据。
如果 JSON 文档中存在指定的路径,
json_set()函数会更新新的数据。
如果参数
json不是有效的 JSON 文档,SQLite 将会给出错误。您可以使用
json_valid()验证 JSON 文档的有效性。
json_set()
示例
在 JSON 数组中设置
让我们将数组
[1, [2, 3]]的第一个元素和第三个元素设置为新值:
SELECT json_set('[1, [2, 3]]', '$[0]', 0, '$[2]', 6); json_set('[1, [2, 3]]', '$[0]', 0, '$[2]', 6)---------------------------------------------[0,[2,3],6]这里,数组的第一个元素替换为
0,并且数组中插入了值为
6的第三个元素。
在 JSON 对象中设置
让我们通过以下语句修改 JSON 对象
{"x": 1, "y": 1}:SELECT json_set('{"x": 1, "y": 1}', '$.y', 2, '$.z', 3); json_set('{"x": 1, "y": 1}', '$.y', 2, '$.z', 3)------------------------------------------------{"x":1,"y":2,"z":3}