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

PostgreSQL中如何将jsonb中的元素转换为数组

把JSONB列中的对象元素转换为数组

原始数据

{"a": {
          "b": "2022-11-03",
          "c": "321321",
          "d": "213321"
     }
}

期望结果

{"a": [
        {
          "b": "2022-11-03",
          "c": "321321",
          "d": "213321"
         }
      ]
}

解决方案(PostgreSQL)

使用jsonb_set函数将目标字段的值包装为单元素数组:

UPDATE your_table
SET data = jsonb_set(
    data,
    '{a}',
    jsonb_build_array(data->'a')
);

说明

  • jsonb_set:用于修改JSONB对象指定路径的内容
  • '{a}':指定要修改的字段路径(此处为顶级的a字段)
  • jsonb_build_array(data->'a'):将原a字段对应的对象转换为包含该对象的数组

若要验证结果,可执行查询查看更新后的数据:

SELECT data FROM your_table;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:05:26