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

如何从PostgreSQL的json_to_recordset()函数获取完整记录元素?

在PostgreSQL中将JSON数组拆分为单行完整JSON记录

你可以直接使用json_array_elements()函数实现需求,这个函数会把JSON数组里的每个元素单独拆成一行,并且完整保留每个元素的JSON结构,不需要提前指定字段(完美适配你这种字段格式不统一的场景)。

基础用法(假设你的表名为your_table,JSON列为data)

SELECT elem AS full_json_record
FROM your_table,
     json_array_elements(data) AS elem;

用你的示例数据测试

如果直接用你提供的JSON数组做测试,执行以下SQL就能得到每行对应一个完整JSON对象的结果:

SELECT elem AS full_json_record
FROM json_array_elements('[{"id":"1","type":"user","name":"AV","displayName":"Aviral","Company":"ABC","Age":34},
    {"id":"2","type":"user","name":"Ram","displayName":"Ram","City":"Jaipur"}]'::json) AS elem;

补充说明

  • 如果你的列是jsonb类型(PostgreSQL推荐的二进制JSON类型),只需把函数换成jsonb_array_elements()即可,用法完全一致。
  • 和你之前用的json_to_recordset()不同,json_array_elements()不需要定义固定的字段结构,直接输出数组里的完整JSON元素,刚好匹配你把每个完整JSON记录作为单列存储的需求。

内容的提问来源于stack exchange,提问作者NIKHIL SUTHAR

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 02:22:02