跳转到内容

从 JSON 对象中删除指定的键,并返回修改后的对象。如果指定的键在对象中不存在,则忽略该键。

json_object_delete(<json_object>, <key1> [, <key2>, ...])
参数 说明
json_object 要从中删除键的 JSON 对象(VARIANT 类型)。
key1, key2, … 一个或多个字符串字面量,表示要从对象中删除的键。

返回一个 VARIANT,其中包含已移除指定键的修改后 JSON 对象。

删除单个键:

SELECT json_object_delete('{"a":1,"b":2,"c":3}'::VARIANT, 'a');
-- Result: {"b":2,"c":3}

删除多个键:

SELECT json_object_delete('{"a":1,"b":2,"d":4}'::VARIANT, 'a', 'c');
-- Result: {"b":2,"d":4}

删除不存在的键(该键被忽略):

SELECT json_object_delete('{"a":1,"b":2}'::VARIANT, 'x');
-- Result: {"a":1,"b":2}