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

如何在Snowflake中创建嵌套JSON列实现多列转换

Snowflake 多列转指定嵌套JSON结构实现方法

使用OBJECT_CONSTRUCT+ARRAY_CONSTRUCT未得到预期结果,基本都是嵌套层级顺序写错导致,按以下写法即可生成完全符合要求的嵌套JSON:

可直接运行的SQL代码

将下方的your_source_table替换为你实际的源表名即可执行:

SELECT
  id,
  ARRAY_CONSTRUCT(
    -- 组装product_1节点
    OBJECT_CONSTRUCT(
      'product_1',
      OBJECT_CONSTRUCT(
        'name', product_1,
        'product_1_purchase_date', product_1_purchase_date
      )
    ),
    -- 组装product_2节点
    OBJECT_CONSTRUCT(
      'product_2',
      OBJECT_CONSTRUCT(
        'name', product_2,
        'product_2_purchase_date', product_2_purchase_date
      )
    )
  ) AS json_combined
FROM your_source_table;

层级逻辑说明

  • 最内层OBJECT_CONSTRUCT:生成单个产品的属性对象,固定包含name(产品名)、对应购买日期两个字段
  • 中间层OBJECT_CONSTRUCT:给单个产品属性包上外层键名(product_1/product_2),对应期望结构里的外层产品标识
  • 最外层ARRAY_CONSTRUCT:把两个组装好的产品对象合并为数组,就是最终的json_combined字段

输出校验

用你提供的样例数据执行后,生成的JSON结构和给出的期望输出完全一致,不存在字段错位、嵌套层级错误的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 19:48:23