PostgreSQL to_json() 函数使用指南
PostgreSQL to_json()
函数将一个 SQL 值转为 JSON 值并返回。
to_json()
语法
这是 PostgreSQL to_json()
函数的语法:
to_json(any_value) -> JSON
参数
any_value
- 必需的。 要转为 JSON 的任意值。
返回值
PostgreSQL to_json()
函数返回一个从一个任意 SQL 类型的值转换而来的 JSON 值。
to_json()
示例
简单示例
本示例展示了如何使用 PostgreSQL to_json()
函数将一个 SQL 值转为 JSON 值。
SELECT
to_json(20) AS "to_json(20)",
to_json('x'::text) AS "to_json('x'::text)",
to_json(true) AS "to_json(true)",
to_json(false) AS "to_json(false)";
)";
to_json(20) | to_json('x'::text) | to_json(true) | to_json(false)
-------------+--------------------+---------------+----------------
20 | "x" | true | false
数组
本示例展示了如何使用 PostgreSQL to_json()
函数将一个 SQL 数组转为 JSON 数组。
SELECT to_json(array[[1, 2], [3, 4]]);
to_json
---------------
[[1,2],[3,4]]
这与 array_to_json()
函数几乎完全相同。
复合类型
本示例展示了如何使用 PostgreSQL to_json()
函数将一个 SQL 复合类型的值转为 JSON 对象。
SELECT to_json(row('Tom', 20, 'He likes sports.'));
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 开始递增。
这与 row_to_json()
函数几乎完全相同。