jsonb_strip_nulls()
是一个系统函数,用于从给定的 JSONB
值中删除所有具有 null
值的对象字段。
jsonb_strip_nulls()
在 PostgreSQL 9.5 中添加。
用法
jsonb_strip_nulls (jsonb
) →jsonb
删除将递归执行。 不是对象字段的 null
值将不会被移除。
变更历史
- PostgreSQL 9.5
- 添加 (提交 237a8824)
示例
json_strip_nulls()
的基本用法示例
postgres=# SELECT jsonb_strip_nulls('[{"foo":1, "bar":null}]'); jsonb_strip_nulls ------------------- [{"foo": 1}] (1 row)
删除是递归的
postgres=# SELECT jsonb_strip_nulls($$ [{ "foo": { "bar":1, "baz":null } }] $$); jsonb_strip_nulls ----------------------- [{"foo": {"bar": 1}}] (1 row)
不是对象字段的 null
值将不会被删除
postgres=# SELECT jsonb_strip_nulls('[1,null]'); jsonb_strip_nulls ------------------- [1, null] (1 row)
参考文献
- PostgreSQL 文档: JSON 处理函数
另请参阅
json_strip_nulls(),jsonb_set_lax()