PostgreSQL row_to_json() 函数使用指南
PostgreSQL row_to_json()
函数将一个 SQL 复合类型的值转为 JSON 对象并返回。
row_to_json()
语法
PostgreSQL row_to_json()
函数的语法有两种形式:
row_to_json(any_row RECORD) -> JSON
或者
row_to_json(any_row RECORD, pretty BOOLEAN) -> JSON
参数
any_array
- 必需的。 要转为 JSON 对象的 SQL 复合类型的值。我们可以使用 row 表达式来构造一个复合类型的值。
pretty
- 必需的。 是否增加在顶层元素间换行符以美化 JSON。
返回值
PostgreSQL row_to_json()
函数返回一个从一个指定的 SQL 复合类型的值转换而来的 JSON 对象。
如果参数 pretty
被设置为 true
,row_to_json()
函数将在输出的 JSON 对象的顶层元素间增加换行符以美化 JSON。
row_to_json()
示例
本示例展示了如何使用 PostgreSQL row_to_json()
函数将一个 SQL 复合类型的值转为 JSON 对象。
SELECT row_to_json(row('Tom', 20, 'He likes sports.'));
row_to_json
----------------------------------------------
{"f1":"Tom","f2":20,"f3":"He likes sports."}
这里,我们使用 row
表达式构造了一个复合类型的值 row('Tom', 20, 'He likes sports.')
。这个复合的类型的值包含了 3 个元素: 'Tom'
, 20
和 'He likes sports.'
。
当将复合类型的值转为 JSON 对象时,row_to_json()
函数自动生成了对象中的键,格式为 fn
,其中 n
是一个数字,从 1 开始递增。
您可以将参数 pretty
设置为 true
以美化 JSON 对象,比如:
SELECT row_to_json(row('Tom', 20, 'He likes sports.'), true);
row_to_json
---------------------------
{"f1":"Tom", +
"f2":20, +
"f3":"He likes sports."}