入力で目的のエレメントを使用
異なるセットの子を持つ可能性があるエレメントが含まれている入力ファイルをマッピングします。
始める前に
- 入力と出力のストラクチャーが作成済みであること。ストラクチャーの作成には下のJSONサンプルを使用できます。
このタスクについて
この例では、自転車とスクーターの販売情報が含まれている入力JSONファイルがあるとします。このファイルにあるdetailsエレメントは、アイテムのタイプによって異なる子エレメントを持つ可能性があります。項目が自転車であれば、detailsエレメントにはbicycle、seat、derailleurという3つのエレメントが含まれます。項目がスクーターであれば、detailsにはscootersエレメントとmaxWeightエレメントが含まれます。
出力で、detailsエレメントをbicycleエレメントかscooterエレメントに置き換えたいとします。
入力データは次のようになります。
[
{
"sku": "AB4589",
"price": 899.99,
"details": {
"bicycle": "MBIKE",
"seat": "ergon",
"derailleur": "shimano"
}
},
{
"sku": "DQ5678",
"price": 899.99,
"details": {
"bicycle": "WBIKE",
"seat": "selle italia",
"derailleur": "sram"
}
},
{
"sku": "MF5612",
"price": 399.99,
"details": {
"scooter": "ESCOOT",
"maxWeight": 70
}
},
{
"sku": "MF5612",
"price": 399.99,
"details": {
"scooter": "KSCOOT",
"maxWeight": 50
}
}
]
出力ストラクチャーは次のようになります。
[
{
"sku": "",
"price": 899.99,
"bicycle": {
"make": "",
"seat": "",
"derailleur": ""
}
},
{
"sku": "",
"price": 399.99,
"scooter": {
"make": "",
"maxWeight": 70
}
}
]
手順
タスクの結果
[
{
"sku":"AB4589",
"price":899.99,
"bicycle":{
"make":"MBIKE",
"seat":"ergon",
"derailleur":"shimano"
}
},
{
"sku":"DQ5678",
"price":899.99,
"bicycle":{
"make":"WBIKE",
"seat":"selle italia",
"derailleur":"sram"
}
},
{
"sku":"MF5612",
"price":399.99,
"scooter":{
"make":"ESCOOT",
"maxWeight":70
}
},
{
"sku":"MF5612",
"price":399.99,
"scooter":{
"make":"KSCOOT",
"maxWeight":50
}
}
]
bicycleエレメントとscooterエレメントから条件を取り除くと、それぞれの出力に両方のエレメントが含まれ、そのうちの1つは空になります。