json_object() 是一个系统函数,用于从单个文本数组或包含键值对的数组对来构建一个 JSON 对象。
json_object() 在 PostgreSQL 9.4 中被添加。
用法
json_object ( text[] ) → json
json_object ( keys text[], values text[] ) → json
使用第一种变体,提供的数组必须包含
- 一个维度,其成员数量为偶数,由交替的键/值对组成
- 两个维度,其中内部数组由交替的键/值对组成
使用第二种变体,提供两个数组,第一个包含键,第二个包含匹配的值。
变更历史
- PostgreSQL 9.4
- 已添加(提交 10563990)
示例
json_object() 的基本用法示例
postgres=# SELECT json_object('{foo, 1, bar, 2, baz, qoo}');
json_object
-------------------------------------------
{"foo" : "1", "bar" : "2", "baz" : "qoo"}
(1 row)
提供一个二维数组
postgres=# SELECT json_object('{{foo, 1}, {bar, 2}, {baz, qoo}}');
json_object
-------------------------------------------
{"foo" : "1", "bar" : "2", "baz" : "qoo"}
(1 row)
提供两个由键和匹配值组成的数组
postgres=# SELECT json_object('{foo, bar, baz}', '{1, 2, qoo}');
json_object
-------------------------------------------
{"foo" : "1", "bar" : "2", "baz" : "qoo"}
(1 row)
参考资料
- PostgreSQL文档: JSON创建函数
另请参阅
json_object_agg(), json_object_keys(), jsonb_object()
