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

Azure Dataflow无法从JSON字符串提取数据并扁平化数组求助

Azure Dataflow 中JSON字符串反序列化与数组扁平化方案

步骤1:确保JSON字符串格式合法

你提供的示例JSON字符串开头缺失{,需补全为完整的JSON对象格式,否则无法正确解析:

{
  "vehicles": [
    {
      "id": "uk-777",
      "discontinued": "2025-12-25",
      "released": "2012-12-25",
      "ranged": true,
      "discontinued_label": "month"
    },
    {
      "id": "uk-778",
      "discontinued": "2025-12-25",
      "released": "2012-12-25",
      "ranged": false,
      "discontinued_label": "year"
    }
  ]
}

步骤2:用Derived Column解析JSON字符串

添加Derived Column活动,创建一个新列(例如命名为vehicles_complex),使用json()函数将JSON字符串列转换为Dataflow支持的复杂类型:

json(你的原始JSON字符串列名)

这个函数会直接将合法的JSON字符串解析为包含数组的对象类型。

步骤3:用Flatten活动展开数组

添加Flatten活动,在配置面板中:

  • 选择vehicles_complex作为根对象
  • 指定展开路径为vehicles数组
    完成配置后,数组中的每个对象会被拆分为单独的行。

步骤4:提取目标字段

展开后,直接引用对象字段即可获取对应值,例如:

  • vehicles_complex.id
  • vehicles_complex.discontinued
  • vehicles_complex.released
  • vehicles_complex.ranged
  • vehicles_complex.discontinued_label
    若需要将这些字段转为单独的列,可再次使用Derived Column活动,为每个字段创建独立列。

额外注意事项

  • 若字段需要类型转换(如日期字符串转日期类型、布尔值转布尔类型),可在提取字段后用Cast活动单独转换单个字段(Cast支持简单类型转换,仅不支持复杂类型的直接转换)
  • 确保原始JSON字符串无语法错误,比如转义字符、括号匹配等问题,否则json()函数会解析失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:04:58