SQLite
json_remove()函数从一个 JSON 文档中删除由路径指定的数据并返回修改后的 JSON 文档。
json_remove()
语法
这里是 SQLite
json_remove()的语法:
json_remove(json, path[, path] ...)
参数
json必需的。一个 JSON 文档。
path必需的。一个有效的路径表达式。
返回值
json_remove()函数从一个 JSON 文档中删除由路径指定的数据并返回修改后的 JSON 文档。
如果参数
json不是有效的 JSON 文档,SQLite 将会给出错误。您可以使用
json_valid()验证 JSON 文档的有效性。
json_remove()
示例
从数组中删除
下面语句使用
json_remove()从一个 JSON 数组中删除索引为
0和
2的元素。
SELECT json_remove('[0, 1, 2, [3, 4]]', '$[0]', '$[2]'); json_remove('[0, 1, 2, [3, 4]]', '$[0]', '$[2]')------------------------------------------------[1,2]这里,您可能会感到迷惑,为什么使用
$[2]来删除索引位置 3 的数据?这是因为当存在多个路径的时候,
json_remove()从左到右依次执行,步骤如下:首先,执行
json_remove('[0, 1, 2, [3, 4]]', '$[0]'),返回了 JSON 文档 [1, 2, [3, 4]]。然后,执行
json_remove('[1, 2, [3, 4]]', '$[2]'),返回了 JSON 文档 [1, 2]。
从对象中删除
下面语句使用
json_remove()从一个 JSON 对象中删除一个成员。
SELECT json_remove('{"x": 1, "y": 2}', '$.x'); json_remove('{"x": 1, "y": 2}', '$.x')--------------------------------------{"y":2}