PostgreSQL json_build_array() 函数使用指南

PostgreSQL json_build_array() 函数从可变的参数列表中创建一个可能是异构类型的 JSON 数组并返回。

此函数与 jsonb_build_array() 函数类似。

json_build_array() 语法

这是 PostgreSQL json_build_array() 函数的语法:

json_build_array(VARIADIC any_value) -> JSON

参数

any_value
必需的。 是一个可变的参数列表。您可以传入任意类型的任意数量的参数。

返回值

PostgreSQL json_build_array() 函数返回一个可能是异构类型的 JSON 数组,其中的参数由可变的参数列表转换而来。

json_build_array() 函数会评估可变参数列表中的每个参数,然后使用 to_json() 将每个参数执行转为 JSON 值后放入最终返回的数组中。

json_build_array() 示例

本示例展示了如何使用 PostgreSQL json_build_array() 函数构建一个 JSON 数组。

SELECT json_build_array(1, 'a', true, row(2, 'b', false));
               json_build_array
----------------------------------------------
 [1, "a", true, {"f1":2,"f2":"b","f3":false}]

这里,我们在函数中使用了 4 个参数: 1, 'a', true, row(2, 'b', false)

首先,json_build_array() 函数按照 to_json() 将每个参数转为 JSON 值:

  • to_json(1) 返回 1
  • to_json('a'::text) 返回 "a"
  • to_json(true) 返回 true
  • to_json(row(2, 'b', false)) 返回 {"f1":2,"f2":"b","f3":false}

然后,json_build_array() 函数将上面的返回值组装成 JSON 数组 [1, "a", true, {"f1":2,"f2":"b","f3":false}] 后返回。