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

Synapse Pipeline嵌套JSON人员列NULL及扁平化输出方案咨询

Synapse Pipeline处理REST API嵌套JSON扁平化方案

问题原因

复制活动的「扁平化层级」仅支持处理嵌套对象结构(如{ "contract": { "id": "123" } }),无法自动展开数组类型的嵌套字段(如{ "Personnel": [{}, {}] }),因此会将整个Personnel数组视为单个字段,而CSV不支持数组类型,最终返回NULL。

实现方案:用Data Flow替代复制活动处理数组展开

步骤1:创建Data Flow并配置REST源

  • 在Synapse Pipeline中新建数据流动(Data Flow)
  • 添加REST数据源,配置API连接信息、请求头、分页规则(如果需要),确保源能正确读取包含Personnel数组的JSON数据
  • 调整源的JSON读取设置:若返回的是包含多个合同的数组,将「Document form」设为Array of documents;若返回单个对象嵌套数组,按需调整

步骤2:添加「展开(Flatten)」转换处理Personnel数组

  • 在REST源之后添加Flatten转换
  • 在转换设置中,选择Personnel作为「要展开的数组」
  • 设置展开模式为「每个数组项生成一行」,此时每个合同的每一名人员会生成独立行,原合同的字段(如合同ID、合同名称等)会自动关联到对应人员行

步骤3:配置CSV Sink并运行

  • 添加CSV类型的Sink,配置目标存储账户、文件路径、分隔符等参数
  • 映射展开后的所有字段(合同字段+人员字段)到CSV列
  • 运行Data Flow,验证输出CSV中每个合同的人员数据已正常扁平化,无NULL值

额外处理:空数组场景

如果部分合同的Personnel数组为空,可添加派生列转换,用表达式iif(isEmpty(Personnel), createArray({ "默认字段": "默认值" }), Personnel)生成默认人员对象,避免空合同无输出行


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 14:54:52