You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL查询:将JSON数组对象转为列的实现方法

PostgreSQL 展开JSON数组查询语句

要把嵌套在JSON字段里的地址数组拆成单行记录,用json_array_elements函数就能实现——它可以把JSON数组拆分成多行独立的JSON对象,再从中提取需要的字段。

最终查询语句

SELECT
    a.id,
    a.data->>'name' AS name,
    addr->>'city' AS city,
    addr->>'street' AS street
FROM
    addresses a,
    json_array_elements(a.data->'addresses') AS addr;

语句说明

  • a.data->>'name':从dataJSON字段里提取name的文本值(->>用来获取纯文本结果,不会返回带引号的JSON格式字符串)。
  • json_array_elements(a.data->'addresses') AS addr:把data中的addresses数组展开,数组里的每个元素都会变成一行的addr对象。
  • addr->>'city'和addr->>'street':从展开后的addr对象里分别提取城市和街道的文本值。

执行这条语句后,就能得到你需要的扁平结构结果。

内容的提问来源于stack exchange,提问作者David Soroko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 06:15:00