PostgreSQL JSON 数组解析成三列数据
使用 PostgreSQL 语法将 JSON 数组解析成三列内容
假设要将该数组解析成三列,分别为'类别'、'分数'和'描述',则可以使用 PostgreSQL 中的 json_to_recordset 函数和 jsonb_populate_record 函数,实现如下:
SELECT
(jsonb_populate_record(NULL::my_table, j)).*
FROM
json_to_recordset('[{"行业":100.0},{"技术":100.0},{"政策":90.0}]') AS j("类别" text, "分数" numeric);
其中,my_table 为自定义表名,可以根据实际情况修改。执行上述语句后,将得到解析后的三列数据,如下:
类别 | 分数 | 描述
------+------+--------
行业 | 100 |
技术 | 100 |
政策 | 90 |
代码解释:
json_to_recordset()函数将 JSON 数组解析成一个记录集,每条记录对应数组中的一个元素。jsonb_populate_record()函数将一个 JSON 对象填充到一个记录结构中,并返回填充后的记录。NULL::my_table用于创建一个匿名记录,并将 JSON 对象填充到该记录中。j("类别" text, "分数" numeric)为记录集的别名,并指定了记录的列名和数据类型。
注意:
- JSON 数组中的元素需要是键值对形式。
- 您可以根据实际需要修改列名和数据类型。
原文地址: https://www.cveoy.top/t/topic/lOkO 著作权归作者所有。请勿转载和采集!