SQLite
json_patch()函数将第二个 JSON 对象合并补充到原 JSON 对象上,并返回合并补充后原 JSON 对象。如果两个参数不全是 JSON 对象,则返回第二个参数。
SQLite
json_patch()函数可以用来修改 JSON 对象,比如:添加新成员、修改成员 和 删除成员。
json_patch()
语法
这里是 SQLite
json_patch()的语法:
json_patch(original_json, patch_json)
参数
original_json必需的。原始的 JSON 文档。
patch_json必需的。要修补到原始 JSON 文档上的 JSON 文档。
返回值
如果两个参数都是 JSON 对象,则 SQLite
json_patch()函数将第二个 JSON 对象
patch_json合并补充到原 JSON 对象
original_json上,并返回合并补充后原 JSON 对象。
否则, SQLite
json_patch()函数返回第二个参数
patch_json。
json_patch()
示例
合并 JSON 对象
要使用
json_patch()函数向原始 JSON 对象中插入新的成员,请使用如下语句:
SELECT json_patch('{"x": 1}', '{"y": 2}'); json_patch('{"x": 1}', '{"y": 2}')----------------------------------{"x":1,"y":2}要使用
json_patch()函数更新原始 JSON 对象中的成员的值,请使用如下语句:
SELECT json_patch('{"x": 1}', '{"x": 2}'); json_patch('{"x": 1}', '{"x": 2}')----------------------------------{"x":2}要使用
json_patch()函数删除原始 JSON 对象中的成员,请使用如下语句:
SELECT json_patch('{"x":1,"y":2}', '{"y": null}'); json_patch('{"x":1,"y":2}', '{"y": null}')------------------------------------------{"x":1}您还可以同时添加、更新和删除,例如:
SELECT json_patch('{"x":1,"y":2}', '{"x":0,"y": null,"z":3}'); json_patch('{"x":1,"y":2}', '{"x":0,"y": null,"z":3}')------------------------------------------------------{"x":0,"z":3}非 JSON 对象
如果两个参数不全是 JSON 对象,SQLite
json_patch()函数返回第二个参数。如下:
json_patch()使用两个数字作为参数
SELECT json_patch(1, 2);
json_patch(1, 2)----------------2
json_patch()使用一个数字和一个字符串作为参数
SELECT json_patch(1, '"a"');
json_patch(1, '"a"')--------------------"a"
json_patch()使用一个数字和一个数组作为参数
SELECT json_patch(1, '[1,2]');
json_patch(1, '[1,2]')----------------------[1,2]
json_patch()使用两个数组作为参数
SELECT json_patch('[0]', '[1,2]'); json_patch('[0]', '[1,2]')--------------------------[1,2]