json_agg() 是一个用于将键/值对收集到 JSON 对象中的系统函数。
json_agg() 添加于 PostgreSQL 9.3。
用法
json_object_agg ( key "any", value "any" ) → json
值将按照 to_json() 进行JSON转换。
变更历史
- PostgreSQL 9.3
- 添加(提交 38fb4d97)
示例
json_agg() 的基本用法示例
postgres=# SELECT json_agg(q)
FROM (SELECT generate_series(1,2) x,
generate_series(4,5) y
) q;
json_agg
------------------
[{"x":1,"y":4}, +
{"x":2,"y":5}]
(1 row)
NULL 值将被转换
postgres=# SELECT json_agg(q)
FROM (SELECT generate_series(1,2) x,
generate_series(4,5) y,
NULL z
) q;
json_agg
---------------------------
[{"x":1,"y":4,"z":null}, +
{"x":2,"y":5,"z":null}]
(1 row)
参考资料
- PostgreSQL 文档: 通用聚合函数
另请参阅
json_object_agg(), jsonb_agg()
