Accéder au contenu principal Passer au contenu complémentaire

Utiliser un élément de choix dans la sortie

Availability-noteBêta
Mappez des éléments avec différents enfants au même élément de sortie.

Avant de commencer

  • Vous avez créé des structures d'entrée et de sortie. Vous pouvez utiliser les échantillons JSON ci-dessous pour créer vos structures.

Pourquoi et quand exécuter cette tâche

Dans cet exemple, vous avez un fichier JSON d'entrée contenant des informations relatives à des vélos et scooters en vente. Les informations sont réparties entre les éléments bicycle et scooter, qui contiennent des enfants différents. Dans la sortie, vous souhaitez inclure toutes ces informations dans un seul élément details pouvant avoir différents enfants, en fonction de l'élement.

Les données d'entrée ressemblent à ceci :
[
    {
        "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
        }
    }
]
La structure de sortie ressemble à ceci :
[
    {
        "sku": "",
        "price": 899.99,
        "details": {
            "bicycle": "",
            "seat": "",
            "derailleur": ""
        }
    },
    {
        "sku": "",
        "price": 399.99,
        "details": {
            "scooter": "",
            "maxWeight": 70
        }
    }
]

Procédure

  1. Ouvrez la structure de sortie créée et développez l'élément details.
    Vous pouvez voir que details est un élément Choice. Il contient les éléments Sequence, qui sont les deux jeux possibles d'enfants pour details.
  2. Cliquez sur Read Only (Lecture seule) et sélectionnez Editable (Modifiable) dans la liste déroulante.
  3. Cliquez sur sequence et remplacez sequence par bicycle dans le champ Name (Nom), puis renommez sequence_1 en scooter et sauvegardez la structure.
  4. Créez une DSQL Map (Map DSQL) et ajoutez les structures d'entrée et de sortie.
  5. Mappez les éléments suivants à l'aide du glisser-déposer :
    • sku à sku
    • price à price
    • bicycle à bicycle {@0}
    • bicycle.make à bicycle
    • scooter.make à scooter
    • maxWeight à maxWeight

Résultats

Les éléments sont mappés et, si vous cliquez sur les alternatives de sortie bicycle {@0} et scooter {@1}, vous pouvez voir que les expressions conditionnelles ont été générées automatiquement.
Par exemple, IF (isPresent(bicycle)) indique que l'élément de sortie details va correspondre à la première alternative, uniquement si l'élément bicycle est présent dans l'entrée. Dans cet exemple, la fonction Test Run (Exécution de test) retourne le résultat suivant :
[
   {
      "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
      }
   }
]

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !