jsonb_object()
是一个系统函数,用于从单个文本数组或包含键和值的两个数组构造 jsonb
对象。
jsonb_object()
添加于 PostgreSQL 9.5。
用法
jsonb_object ( text[] ) → jsonb
jsonb_object ( keys text[], values text[] ) → jsonb
对于第一个变体,提供的数组必须
- 具有一维,且成员数量为偶数,由交替的键/值对组成
- 具有二维,且内部数组由交替的键/值对组成
对于第二个变体,提供了两个数组,第一个包含键,第二个包含匹配的值。
更改历史记录
- PostgreSQL 9.5
- 添加 (提交 7e354ab9)
示例
jsonb_object()
的基本用法示例
postgres=# SELECT jsonb_object('{foo, 1, bar, 2, baz, qoo}'); jsonb_object ---------------------------------------- {"bar": "2", "baz": "qoo", "foo": "1"} (1 row)
提供二维数组
postgres=# SELECT jsonb_object('{{foo, 1}, {bar, 2}, {baz, qoo}}'); jsonb_object ---------------------------------------- {"bar": "2", "baz": "qoo", "foo": "1"} (1 row)
提供两个包含键和匹配值的数组
postgres=# SELECT jsonb_object('{foo, bar, baz}', '{1, 2, qoo}'); jsonb_object ---------------------------------------- {"bar": "2", "baz": "qoo", "foo": "1"} (1 row)
参考文献
- PostgreSQL 文档: JSON 创建函数
另请参阅
jsonb_object_agg(),jsonb_object_keys(),json_object()