PostgreSQL jsonb_strip_nulls() 函数使用指南

PostgreSQL jsonb_strip_nulls() 函数递归地删除对象中的值为 null 的字段,非对象字段的 null 值不处理。

jsonb_strip_nulls() 语法

这是 PostgreSQL jsonb_strip_nulls() 函数的语法:

jsonb_strip_nulls(json_value JSONB) -> JSONB

参数

json_value
必需的。 要处理的 JSONB 值。

返回值

PostgreSQL jsonb_strip_nulls() 函数返回给定的 JSONB 值,其中的值为 null 的对象字段被递归的删除。

如果您提供了一个 NULL 参数,jsonb_strip_nulls() 函数将返回 NULL。

jsonb_strip_nulls() 示例

下面的示例展示了如何使用 PostgreSQL jsonb_strip_nulls() 函数删除一个给定的 JSONB 值中的值为 null 的对象字段。

SELECT jsonb_strip_nulls('[1, null, 3, {"x": 1, "y": null}]');
   jsonb_strip_nulls    
------------------------
 [1, null, 3, {"x": 1}]

这里,只有对象 {"x": 1, "y": null} 中的 y 字段被删除了,而数组中的 null 值没有被删除。