gpt4 book ai didi

json - 使用 DataFlow 解析来自 API 的 JSON 响应

转载 作者:行者123 更新时间:2023-12-03 06:12:36 25 4
gpt4 key购买 nike

如何将 API 的 JSON 响应解析为 CSV?目前,API 响应作为 JSON 文件存储在 Blob 存储上,我现在想要解析它并将其另存为 CSV 文件。

这是 JSON 响应的子集作为示例,

{
"reports": [
{
"columnHeader": {
"dimensions": [
"ga:dimension2",
"ga:dimension1",
"ga:dimension4",
"ga:dimension6"
],
"metricHeader": {
"metricHeaderEntries": [
{
"name": "ga:newUsers",
"type": "INTEGER"
}
]
}
},
"data": {
"rows": [
{
"dimensions": [
"Australia",
"Hong Kong",
"HKNG",
"not set"
],
"metrics": [
{
"values": [
"1"
]
}
]
},
{
"dimensions": [
"Australia",
"Malaysia",
"KL",
"not set"
],
"metrics": [
{
"values": [
"1"
]
}
]
}
]
}
}
]
}

所需的output.csv文件应具有来自JSON文件的data键的列标题。

the column header would ideally be like this,
+-----------+------------+------------+------------+-------------+
|dimension1 | dimension2 | dimension4 | dimension6 | metric_value|
+-----------+------------+------------+------------+-------------+
| Australia | Hong Kong | HKNG | not set | 1 |
| ... | ... | .... | ... | ... |
+-----------+------------+------------+------------+-------------+

最佳答案

要解析来自 API 的 JSON 响应并将其保存为 Azure 数据工厂 (ADF) 数据流中的 CSV 文件,可以使用以下步骤:

  • 在数据流中进行源转换,并从 Blob 存储中获取 JSON 文件作为源数据集。将 documentForm 选项设置为 arrayOfDocuments。这将表明 JSON 文件包含对象数组。

enter image description here

  • 进行选择转换,并将 reports 数组中第二个对象的 data 字段映射到名为 data 的新列

数据=报告[1].data

enter image description here

  • 进行扁平化转换,并展开 datametrics 字段中的 values 数组柱子。将dimensionsvalues 字段映射到新列。 enter image description here

  • 然后进行派生转换,根据维度列创建新列。创建名为 dimensions2dimensions1dimensions4dimensions6metric_values 的新列在这里。

enter image description here

  • 进行选择转换就是选择dimensions2dimensions1dimensions4仅Dimensions6metric_values字段。

  • 然后使用 csv 数据集进行接收器转换。

输出:

enter image description here

当包含此数据流的管道运行时,Json 数据将以所需格式复制到 csv 文件。

关于json - 使用 DataFlow 解析来自 API 的 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76578190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com