首页 > 解决方案 > Azure 数据工厂 - 如何处理 JSON 数据中的嵌套数组以导入 Blob 存储

问题描述

我正在创建一个用于将 JSON 数据从 REST 源导入到 Blob 存储的管道。但是,我有一个问题,因为在包含主要数据的数组中有一个嵌套数组。

JSON数据如下:

{
  "@odata.context": "<Context>",
  "@odata.nextLink": "<Next Link>",
  "value": [
    {
      "@odata.type": "<Type>",
      "reportRefreshDate": "2019-05-18",
      "userPrincipalName": "abc@xyz.net",
      "displayName": "abc",
      "isDeleted": false,
      "deletedDate": null,
      "hasExchangeLicense": true,
      "hasOneDriveLicense": true,
      "hasSharePointLicense": true,
      "hasSkypeForBusinessLicense": true,
      "hasYammerLicense": true,
      "hasTeamsLicense": true,
      "exchangeLastActivityDate": "2019-05-17",
      "oneDriveLastActivityDate": null,
      "sharePointLastActivityDate": null,
      "skypeForBusinessLastActivityDate": null,
      "yammerLastActivityDate": null,
      "teamsLastActivityDate": null,
      "exchangeLicenseAssignDate": "2019-03-19",
      "oneDriveLicenseAssignDate": "2018-07-06",
      "sharePointLicenseAssignDate": "2018-07-06",
      "skypeForBusinessLicenseAssignDate": "2018-05-22",
      "yammerLicenseAssignDate": "2018-05-22",
      "teamsLicenseAssignDate": "2018-05-22",
      "assignedProducts": [
        "OFFICE 365 E3",
        "OFFICE 365 E5"
      ]
    }
  ]
}

正如您在此处所注意到的,主数组“value”中有一个名为“assignedProducts”的嵌套数组

我将 blob 存储的架构定义如下: 在此处输入图像描述

当我定义源和接收器之间的映射时,我无法映射嵌套数组,它显示如下:

在此处输入图像描述

据我所知,可以为数组创建一个循环。但是对于嵌套数组,似乎很难。

有人可以建议我应该怎么做来处理嵌套数组吗?如果将此数组转换为字符串或其他内容,那就太好了。

提前致谢 :-)

标签: azure-blob-storageazure-data-factory

解决方案


我模拟了一些像你这样的示例数据:

[  
   {  
      "numberArray":[  
         "1",
         "2",
         "3"
      ],
      "name":"A"
   },
   {  
      "numberArray":[  
         "4",
         "5",
         "6"
      ],
      "name":"B"
   }
]

然后我如下配置我的 Blob 存储数据集,请将其设置File PatternArray of Objects.

在此处输入图像描述

结果:

在此处输入图像描述


推荐阅读