row_to_json() 是一个系统函数,用于将 SQL 复合值转换为 json 对象。
row_to_json() 函数于 PostgreSQL 9.2 中添加。
用法
row_to_json (record[,boolean] ) →json
row_to_json() 在提供行复合值时类似于 to_json(),但可以选择在顶级元素之间添加换行符。
变更历史
- PostgreSQL 9.2
- 添加(提交 39909d1d)
示例
row_to_json() 的基本用法示例
postgres=# SELECT row_to_json(row(97, 'foo', ARRAY[1,2,3]));
row_to_json
-----------------------------------
{"f1":97,"f2":"foo","f3":[1,2,3]}
(1 row)
此输出与提供相同输入值的 to_json() 函数的输出相同。
postgres=# SELECT to_json(row(97, 'foo', ARRAY[1,2,3]));
to_json
-----------------------------------
{"f1":97,"f2":"foo","f3":[1,2,3]}
(1 row)
但是,如果提供了一个可选的 boolean 参数并将其设置为 true,则会在顶级元素之间添加换行符。
postgres=# SELECT row_to_json(row(97, 'foo', ARRAY[1,2,3]), TRUE);
row_to_json
----------------
{"f1":97, +
"f2":"foo", +
"f3":[1,2,3]}
(1 row)
参考资料
- PostgreSQL文档: JSON创建函数
