PostgreSQL json_to_recordset() 函数使用指南

PostgreSQL json_to_recordset() 函数将指定的最顶层的 JSON 数组(元素为对象)扩展为一个在 AS 子句中定义的具有符合类型的行的集合。

json_to_recordset() 语法

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

json_to_recordset(from_json JSON) -> SETOF RECORD

参数

from_json
必需的。 要转的 JSON 数组,其中的元素为 JSON 对象。

返回值

PostgreSQL json_to_recordset() 函数返回一个在 AS 子句中定义的 RECORD 类型值的集合,它由指定的 JSON 数组转换而来。 数组中的 JSON 对象都依照 json_to_record() 函数被转成 RECORD 类型的值。

json_to_recordset() 示例

本示例展示了如何使用 PostgreSQL json_to_recordset() 函数将一个 JSON 数组转为一个自定义类型的集合。

SELECT
  *
FROM
  json_to_recordset(
    '[{"x": "A", "y": 1}, {"x": "B", "y": 2}]'
  ) AS x(x TEXT, y INT);
 x | y
---+---
 A | 1
 B | 2

这里,我们在 AS 子句中定义了要返回的行类型: AS x(x TEXT, y INT)。它包含两个列 xy,他们分别匹配了 JSON 对象中的键。