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

Utiliser un élément de choix dans l'entrée

Availability-noteBêta
Mappez un fichier d'entrée contenant un élément pouvant avoir plusieurs jeux d'enfants.

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. L'élément details dans ce fichier peut avoir différents enfants selon le type de l'élément. Lorsque l'élément est un vélo, bicycle, l'élément details contient trois éléments : bicycle, seat et derailleur. Lorsque l'élément est un scooter, details contient deux éléments : scooters et maxWeight.

Dans la sortie, vous souhaitez remplacer l'élément details par l'élément bicycle ou scooter.

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

Procédure

  1. Ouvrez la structure d'entrée 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.

    Dans l'entrée, l'élément details est libellé comme choice et les deux alternatives ont un index qui leur est attribué. Cet index peut être utilisé pour faire référence à une alternative spécifique dans une expression.

  5. Mappez les éléments suivants à l'aide du glisser-déposer :
    • sku à sku
    • price à price
    • bicycle {@0} à bicycle
    • bicycle à bicycle.make
    • scooter à scooter.make
    • maxWeight à maxWeight

Résultats

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

Si vous avez supprimé les conditions des éléments bicycle et scooter, chaque sortie contiendra les deux éléments, mais l'un d'entre eux sera vide.

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 !