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

ADF数据流Flatten组件处理REST数据源外层与嵌套数组问题

解决ADF数据流中REST数据源外层数组导致Flatten组件无法正常展开的问题

问题背景

预期的REST接口返回JSON结构:

{
  "TotalItemCount": 636,
  "PageIndex": 0,
  "PageSize": 20,
  "Result": [
    {
      "Id": "c02dd3ca-7440-4742-9802-af2b00655fe5",
      "Employment": [
        {
          "EmploymentNumber": "1234"
        }
      ]
    }
  ]
}

但在ADF中使用REST数据集作为数据源时,返回的JSON被自动添加了一层外层数组:

[
  {
    "TotalItemCount": 636,
    "PageIndex": 0,
    "PageSize": 20,
    "Result": [
      {
        "Id": "c02dd3ca-7440-4742-9802-af2b00655fe5",
        "Employment": [
          {
            "EmploymentNumber": "1234"
          }
        ]
      }
    ]
  }
]

需要通过Flatten组件展开Result数组,最终提取Id和EmploymentNumber,但直接设置Unroll by为body无效。

解决步骤

需要分阶段添加Flatten组件处理嵌套数组:

1. 先拆解顶层外层数组

添加第一个Flatten组件:

  • Unroll by:填入$(代表整个顶层数组)
  • 作用:将外层数组拆解开,得到包含TotalItemCount、PageIndex、PageSize、Result字段的单个对象行。

2. 展开Result数组

添加第二个Flatten组件:

  • Unroll by:填入Result
  • 作用:将Result数组中的每个元素展开为单独的行,此时每行包含Id、Employment数组等字段。

3. 展开Employment数组(按需)

如果Employment是数组结构,添加第三个Flatten组件:

  • Unroll by:填入Employment
  • 作用:将每行的Employment数组展开,得到包含Id和EmploymentNumber的行。

4. 保留目标字段(可选)

最后添加Select组件,仅保留Id和EmploymentNumber字段,得到最终需要的结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 20:40:27