【问题标题】:Parse complex json file in Azure Data Factory在 Azure 数据工厂中解析复杂的 json 文件
【发布时间】:2021-12-27 09:44:29
【问题描述】:

我想在 Azure 数据工厂中解析一个复杂的 json 文件。结构如下,这意味着有嵌套的对象和数组。据我了解,ADF 可以解析数组,但我们应该怎么做才能解析更复杂的文件?

文件结构如下

{
  "productA": {
         "subcategory 1" : [
             {
                "name":"x",
                "latest buy": "22-12-21"
                "total buys": 4
                "other comments": "xyzzy"
                "history data": [
                   {
                     "name":"x",
                     "latest buy": "22-12-21"
                     "total buys": 4
                     "other comments": {"John":"Very nice","Nick":"Not nice"}
                    }
                  ]
               }
            }
       }

【问题讨论】:

    标签: json parsing azure-data-factory


    【解决方案1】:

    您发布的 JSON 结构中似乎存在一些错误。这不是有效的 JSON 结构。它缺少逗号 (,) 和大括号。

    当您拥有有效的 JSON 结构时,您可以在数据流中使用展平转换来展平 JSON。

    来源:

    {
     "productA": {
         "subcategory 1" : [
             {
                "name":"x",
                "latest buy": "22-12-21",
                "total buys": 4,
                "other comments": "xyzzy",
                "history data": [
                   {
                     "name":"x",
                     "latest buy": "22-12-21",
                     "total buys": 4,
                     "other comments": {"John":"Very nice","Nick":"Not nice"}
                    }
                  ]
               }
               ]
            }
       }
    

    ADF 数据流:

    源转换:

    将 JSON 数据集连接到源转换,然后在源选项中的 JSON 设置下选择单个文档。

    源码预览:

    扁平化变换:

    在此处选择要在 Unroll by 和 Unroll root 中展开的数组级别并添加映射。

    展平预览:

    有关在 ADF 中解析 JSON 文档的更多详细信息,请参阅此 parseflatten 文档。

    【讨论】:

    • 有没有办法进行动态展平?我共享的 json 文件只是一个更大的 json 文件中的记录,其中列(例如子类别、产品)会动态变化
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-21
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    相关资源
    最近更新 更多