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

Azure Data Factory数据流中如何将带动态键的对象转换为数组?

在Azure Data Factory数据流中将含动态键的复杂对象转换为数组

问题场景

需要将包含动态UUID键的body对象转换为仅包含其属性值的数组,输入输出格式如下:

输入JSON

{
  "headers": {
    "Content-Length": 1234
  },
  "body": {
    "00b50a39-8591-3db3-88f7-635e2ec5c65a": {
      "id": "00b50a39-8591-3db3-88f7-635e2ec5c65a",
      "name": "Example 1",
      "date": "2023-02-09"
    },
    "0c206312-2348-391b-99f0-261323a94d95": {
      "id": "0c206312-2348-391b-99f0-261323a94d95",
      "name": "Example 2",
      "date": "2023-02-09"
    },
    "0c82d1e4-a897-32f2-88db-6830a21b0a43": {
      "id": "00b50a39-8591-3db3-88f7-635e2ec5c65a",
      "name": "Example 3",
      "date": "2023-02-09"
    }
  }
}

期望输出JSON

[
  {
    "id": "00b50a39-8591-3db3-88f7-635e2ec5c65a",
    "name": "Example 1",
    "date": "2023-02-09"
  },
  {
    "id": "0c206312-2348-391b-99f0-261323a94d95",
    "name": "Example 2",
    "date": "2023-02-09"
  },
  {
    "id": "00b50a39-8591-3db3-88f7-635e2ec5c65a",
    "name": "Example 3",
    "date": "2023-02-09"
  }
]

解决方案步骤

在Azure Data Factory数据流中,使用内置的values()函数即可快速实现转换,具体操作如下:

  • 在数据流中添加派生列转换节点,连接到你的数据源。
  • 在派生列的表达式编辑器中,输入表达式:values(body)
    (若你的对象字段名不是body,替换为实际字段名称即可)
  • 将派生列命名为你需要的字段名(比如outputArray)。
  • 如果仅需最终数组结果,可添加选择转换,仅保留该派生的数组字段;或直接将其作为输出。

原理说明

values()是ADF数据流专门用于处理对象的内置函数,它会提取对象的所有属性值,并将这些值组合成一个数组,完美适配动态键对象转数组的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:45:41