我有一个包含多个子级别的 JSON 文件,需要使用 PDI 进行解析。让我陷入困境的棘手之处是嵌套数组中的一对多关系。
这是我的 JSON 示例:
{
"@gdata.count": "139111",
"value": [
{
"InvStatus": {
"Description": "Active"
},
"DeviceAddresses": [],
"People": [],
"Id": "11",
"InvHostName": "NYCRMR-TWX9000",
"InvDomain": "blah.masked.com",
"InvSerialNumber": "86753091",
"InvDevType": "Workstation",
"InvRegion": "NA",
"InvLocation": "114AP2",
"InvNetwork": "WMG",
"InvBrand": "RMR",
"InvProtectionStatus": null,
"InvConversionStatus": null,
"InvDeviceDob": "2023-10-23"
}, {
"InvStatus": {
"Description": "Disconnected"
},
"DeviceAddresses": [],
"People": [],
"Id": "37",
"InvHostName": "NYCRMR-TWX9002",
"InvDomain": "blah.masked.com",
"InvSerialNumber": "86753092",
"InvDevType": "Workstation",
"InvRegion": "NA",
"InvLocation": "114AP4",
"InvNetwork": "WMG",
"InvBrand": "RMR",
"InvProtectionStatus": null,
"InvConversionStatus": null,
"InvDeviceDob": "2023-10-23"
}, {
"InvStatus": {
"Description": "Disconnected"
},
"DeviceAddresses": [],
"People": [{
"Role": {
"Description": "Asset Manager"
},
"Id": "65571",
"Email": "[email protected]"
}, {
"Role": {
"Description": "Primary Technical Contact"
},
"Id": "65477",
"Email": "[email protected]"
}, {
"Role": {
"Description": "Asset User"
},
"Id": "65478",
"Email": "[email protected]"
}, {
"Role": {
"Description": "Secondary Technical Contact"
},
"Id": "65479",
"Email": "[email protected]"
}, {
"Role": {
"Description": "Secondary Technical Contact"
},
"Id": "65475",
"Email": "[email protected]"
}
],
"Id": "44",
"InvHostName": "-0cc05ac548317d30c",
"InvDomain": "WORKGROUP",
"InvSerialNumber": "n/a",
"InvDevType": "Server",
"InvRegion": "NA",
"InvLocation": "FREM45",
"InvNetwork": "WMB",
"InvBrand": "OKS",
"InvProtectionStatus": null,
"InvConversionStatus": null,
"InvDeviceDob": "2021-05-03"
}
]
}
我尝试一步完成所有操作,但只返回嵌套结果中的第一项。
接下来我尝试分多个步骤执行此操作,其中第一步检索第一级字段,第二步检索第二级字段,依此类推。
最终发生的情况是,第二步中的人员字段会复制到第一步中检索到的所有行,而不仅仅是导致复制到第一步中的第三条记录。
上面的 JSON 只是一个小样本,我要提取的实际记录超过 100k,我只想拥有与设备关联的人员记录。