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

如何在PieCloudDB中提取JSON数组并展开为行数据

解决方案

你的需求是将JSON对象中每个键对应的数组元素单独拆分为一行,PieCloudDB兼容PostgreSQL的JSON处理函数,通过两层展开即可实现:

正确SQL语句

SELECT
    obj.key AS my_key,
    arr.value AS my_value
FROM
    my_table,
    json_each(attributes) AS obj,
    json_array_elements_text(obj.value) AS arr;

逻辑说明

  1. json_each(attributes):将JSON对象拆分为键值对行,每一行对应原JSON中的一组key:数组组合,例如得到(A001, ["123","124","125"])和(A002, ["234","235","236"])两行数据。
  2. json_array_elements_text(obj.value):将上一步得到的数组值进一步拆分为单个文本元素,每个元素单独占一行,最终得到你需要的扁平化结果。

原SQL不符合预期的原因

你之前使用的json_object_keys仅提取了JSON对象的键,attributes ->> json_object_keys(attributes)是直接取出键对应的完整数组值,没有对数组进行拆分,因此返回的是整个数组而非单个元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 14:12:10