json_strip_nulls()

一个用于删除 JSON 值中 null 值的函数

json_strip_nulls() 是一个系统函数,用于从给定的 JSON 值中删除所有值为 null 的对象字段。

json_strip_nulls() 函数已在 PostgreSQL 9.5 中添加。

用法

PostgreSQL 18 及更高版本

json_strip_nulls ( target json [, strip_in_arrays boolean ] ) → json

PostgreSQL 17 及更早版本

json_strip_nulls ( json ) → json

删除操作将递归执行。非对象字段的 null 值不会被移除。

如果 strip_in_arrays PostgreSQL 18 及更高版本的值为 true(默认为 false),则数组中的 null 元素也会被移除。

变更历史

示例

json_strip_nulls() 的基本用法示例

postgres=# SELECT json_strip_nulls('[{"foo":1, "bar":null}]');
 json_strip_nulls 
------------------
 [{"foo":1}]
(1 row)

移除是递归的

postgres=# SELECT json_strip_nulls($$
  [{
    "foo":
      {
         "bar":1,
         "baz":null
      }
  }]
$$);
  json_strip_nulls   
---------------------
 [{"foo":{"bar":1}}]
(1 row)

非对象字段的 null 值不会被移除

postgres=# SELECT json_strip_nulls('[1,null]');
 json_strip_nulls 
------------------
 [1,null]
(1 row)

分类

JSON, 系统函数

另请参阅

jsonb_strip_nulls()

反馈

请在此处 提交关于 "json_strip_nulls()" 的任何评论、建议或更正