メイン コンテンツをスキップする 補完的コンテンツへスキップ

出力で目的のエレメントを使用

Availability-noteBeta
異なる子を持つエレメントを同じ出力エレメントにマッピングします。

始める前に

  • 入力と出力のストラクチャーが作成済みであること。ストラクチャーの作成には下のJSONサンプルを使用できます。

このタスクについて

この例では、自転車とスクーターの販売情報が含まれている入力JSONファイルがあるとします。この情報はbicycleエレメントとscooterエレメントに分割されており、それぞれ異なる子が含まれています。出力では、項目によって異なる子を持つ可能性がある単一のdetailsエレメントにその情報をすべて含めたいとします。

入力データは次のようになります。
[
    {
        "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
        }
    }
]
出力ストラクチャーは次のようになります。
[
    {
        "sku": "",
        "price": 899.99,
        "details": {
            "bicycle": "",
            "seat": "",
            "derailleur": ""
        }
    },
    {
        "sku": "",
        "price": 399.99,
        "details": {
            "scooter": "",
            "maxWeight": 70
        }
    }
]

手順

  1. 作成した出力ストラクチャーを開き、detailsエレメントを展開します。
    detailsChoiceエレメントであることがわかります。ここにはSequenceエレメントが2つ含まれています。この2つは、detailsの子エレメントの可能性があるセットです。
  2. [Read Only] (読み取り専用)をクリックし、ドロップダウンリストで[Editable] (編集可能)を選択します。
  3. sequenceをクリックし、[Name] (名前)フィールドにあるsequencebicycleに置き換え、sequence_1scooterという名前に変更してストラクチャーを保存します。
  4. 新しいDSQLマップを作成して入力ストラクチャーと出力ストラクチャーを追加します。
  5. 次のエレメントをドラッグ&ドロップしてマッピングします。
    • skusku
    • priceprice
    • bicyclebicycle {@0}
    • bicycle.makebicycle
    • scooter.makescooter
    • maxWeightmaxWeight

タスクの結果

エレメントがマッピングされます。出力の選択肢であるbicycle {@0}scooter {@1}をクリックすると、条件式が自動的に生成されたことがわかります。
たとえばIF (isPresent(bicycle))は、入力にbicycleエレメントが存在する場合のみdetails出力エレメントが最初の選択肢に一致することを示します。この例では、[Test Run] (テスト実行)によって次の結果が返されます。
[
   {
      "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
      }
   }
]

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。