我遇到了一个问题,使用jolt转换转换一个非常复杂的嵌套JSON。输入和输出细节如下所示。
输入
{
"guid": "String 1",
"WebHookId": 1234567890,
"siteLocation": "offshore",
"ReferenceCountry": [
{
"RefCountry": "DE",
"Country": "NL"
}
],
"WTGLevel": [
{
"SCID": "5gmqATexwYw",
"ReferenceCountry": "DE",
"Material": "WTG_01",
"Description": "CS-048948A-#01",
"Quantity": 1,
"UnitOfMeasure": "EA",
"WTGType": "V136-4.0MW",
"RotorDiameter": "136 m",
"MarkRelease": "3F",
"NominalEffect": 4200,
"HubHeight": 112,
"component": [
{
"Material": "NACELLE_01",
"Description": "Nacelle MSI",
"Quantity": 1,
"UnitOfMeasure": "EA",
"CapacityType": "N_V136_4.0MW_TR_3F",
"MaterialGroup": 325,
"DerivedMaterial": 29227496,
"MaterialIndicator": "PLAN_LO",
"PriceBaseID": "P/NAC:P_3MW/MK_3F/R_136M/FRQ_50HZ/LOC_04"
},
{
"Material": "SP_AVI_LAMP_01",
"Description": "Site Parts Aviation Lamp MSI",
"Quantity": 1,
"UnitOfMeasure": "EA",
"CapacityType": "NAC_OPT",
"MaterialGroup": 5,
"DerivedMaterial": 29197892,
"MaterialIndicator": "VAR",
"PriceBaseID": "P/AV_LA:AVWTG_3MW/AV_LA_18/AV_Q_1"
}
]
},
{
"SCID": "zyUL6lemDdM",
"ReferenceCountry": "DE",
"Material": "WTG_01",
"Description": "CS-042692A-#01",
"Quantity": 1,
"UnitOfMeasure": "EA",
"WTGType": "V136-4.0MW",
"RotorDiameter": "136 m",
"MarkRelease": "3E",
"NominalEffect": 4.2,
"HubHeight": 112,
"component": [
{
"Material": "BLADE_01",
"Description": "Blade MSI",
"Quantity": 3,
"UnitOfMeasure": "EA",
"CapacityType": "BLA_67M_STR",
"MaterialGroup": 40,
"DerivedMaterial": 29156738,
"MaterialIndicator": "VAR",
"PriceBaseID": "P/BLA:P_3MW/MK_3E/R_136M/DEICE_N/BLATY_00"
},
{
"Material": "DRIVE_TRAIN_01",
"Description": "Drive Train MSI",
"Quantity": 1,
"UnitOfMeasure": "EA",
"CapacityType": "DT_V136_4.0ME_3E",
"MaterialGroup": 540,
"DerivedMaterial": 29219265,
"MaterialIndicator": "VAR",
"PriceBaseID": "P/DT:P_3MW/MK_3E/R_136M/LOC_01"
}
]
}
]
}
预期输出
[
{
"guid": "String 1",
"WebHookId": 1234567890,
"siteLocation": "offshore",
"RefCountry": "DE",
"Country": "NL",
"SCID": "5gmqATexwYw",
"ReferenceCountry": "DE",
"Material": "WTG_01",
"Description": "CS-048948A-#01",
"Quantity": 1,
"UnitOfMeasure": "EA",
"WTGType": "V136-4.0MW",
"RotorDiameter": "136 m",
"MarkRelease": "3F",
"NominalEffect": 4200,
"HubHeight": 112,
"Cmpt_Material": "NACELLE_01",
"Cmpt_Quantity": 1,
"Cmpt_UnitOfMeasure": "EA",
"CapacityType": "N_V136_4.0MW_TR_3F"
},
{
"guid": "String 1",
"WebHookId": 1234567890,
"siteLocation": "offshore",
"RefCountry": "DE",
"Country": "NL",
"SCID": "5gmqATexwYw",
"ReferenceCountry": "DE",
"Material": "WTG_01",
"Description": "CS-048948A-#01",
"Quantity": 1,
"UnitOfMeasure": "EA",
"WTGType": "V136-4.0MW",
"RotorDiameter": "136 m",
"MarkRelease": "3E",
"NominalEffect": 4.2,
"HubHeight": 112,
"Cmpt_Material": "SP_AVI_LAMP_01",
"Cmpt_Quantity": 1,
"Cmpt_UnitOfMeasure": "EA",
"CapacityType": "NAC_OPT"
},
{
"guid": "String 1",
"WebHookId": 1234567890,
"siteLocation": "offshore",
"RefCountry": "DE",
"Country": "NL",
"SCID": "zyUL6lemDdM",
"ReferenceCountry": "DE",
"Material": "BLADE_01",
"Description": "CS-042692A-#01",
"Quantity": 1,
"UnitOfMeasure": "EA",
"WTGType": "V136-4.0MW",
"RotorDiameter": "136 m",
"MarkRelease": "3E",
"NominalEffect": 4.2,
"HubHeight": 112,
"Cmpt_Material": "BLADE_01",
"Cmpt_Quantity": 1,
"Cmpt_UnitOfMeasure": "EA",
"CapacityType": "NAC_OPT"
},
{
"guid": "String 1",
"WebHookId": 1234567890,
"siteLocation": "offshore",
"RefCountry": "DE",
"Country": "NL",
"SCID": "5gmqATexwYw",
"ReferenceCountry": "DE",
"Material": "BLADE_01",
"Description": "CS-042692A-#01",
"Quantity": 1,
"UnitOfMeasure": "EA",
"WTGType": "V136-4.0MW",
"RotorDiameter": "136 m",
"MarkRelease": "3E",
"NominalEffect": 4.2,
"HubHeight": 112,
"Cmpt_Material": "DRIVE_TRAIN_01",
"Cmpt_Quantity": 1,
"Cmpt_UnitOfMeasure": "EA",
"CapacityType": "NAC_OPT"
}
]
Component Array值以值Cmpt_* 为前缀。可能存在2个或多个SCID,并且在每个SCID下可能存在多个组件。
请帮我这个忙。
1条答案
按热度按时间nc1teljy1#
您可以使用以下shift转换规范