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

Informations supplémentaires concernant l'extraction de données avec le Client HTTP

Vous pouvez configurer le connecteur HTTP Client connector in order to return a specific part of the response body instead of the whole response payload using the Extract a sub-part of the response and Output key/value pairs parameters.
Les exemples suivants se basent sur ce fichier JSON contenant des enregistrements concernant les utilisateur·trices, leur âge, leur adresse, leurs voitures :
[
  {
    "name": "Peter",
    "age": 40,
    "male": true,
    "addresses": {
       "city": "Nantes",
       "zip": "44000",
       "street": "bd prairie au duc"
    },
    "cars": [
       {"brand": "Ford", "model": "Transit", "km": 123456},
       {"brand": "Renault", "model": "Clio", "km": 87234}
    ]
  },
   {
    "name": "Emma",
    "age": 34,
    "male": true,
    "addresses": {
       "city": "Paris",
       "zip": "75000",
       "street": "bd Saint-Germain"
    },
    "cars": [
       {"brand": "Tesla", "model": "Model 3", "km": 63456},
       {"brand": "Ford", "model": "Mustang Mach-E", "km": 32543},
       {"brand": "Volkswagen", "model": "Golf 8", "km": 43876},
    ]
  }
]

'Extract a sub-part of the response (Extraire une sous-partie de la réponse)'

Cette configuration traite tout le payload de la réponse et vous permet d'extraire le sous-élément à retourner. Si le sélecteur pointe vers un tableau, un enregistrement de sortie est généré par élément.

Valeur de 'Extract a sub-part of the response (Extraire une sous-partie de la réponse)' Résultat

<vide>

ou .

ou .root

(les trois valeurs retournent le même résultat)

Retourne le payload complet de la réponse. Dans cet exemple, les enregistrements complets pour Peter et Emma sont retournés.

.root[1]

Si le document est un tableau (commence par [ et termine par ]) et que vous souhaitez en extraire un seul terme, vous pouvez utiliser .root pour pouvoir définir l'index. En effet, .[1] et [1] ne sont pas valides, mais .root[1] va extraire le deuxième élément du document (l'index démarre à 0).

Retourne le second payload de la réponse. Dans cet exemple, l'enregistrement complet pour Peter et Emma est retourné.

.root[1].cars

Vous permet de sélectionner un sous-tableau et d'effectuer une itération dessus.

Retourne une partie du second payload de la réponse. Dans cet exemple, l'enregistrement contenant les voitures que possède Emma est retourné.

.root[1].cars{.km > 40000}

Vous permet de filtrer les éléments retournés.

Retourne une partie du second payload de la réponse. Dans cet exemple, l'enregistrement contenant les voitures que possède Emma et qui affichent plus de 40,000 kilomètres est retourné.

Output key/value pairs (Paires de sortie clé/valeur)

Une fois les données principales extraites via le paramètre Extract a sub-part of the response (Extraire une sous-partie de la réponse), vous pouvez également extraire certaines valeurs pour créer un enregistrement plat.

Pour ce faire, activez l'option Output key/value pairs (Paires de sortie clé/valeur) et ajoutez des entrées Name (Nom)/Value (Valeur). Name (Nom) sera le nom du champ de l'enregistrement de sortie et Value (Valeur) peut contenir des sélecteurs DSSL afin de récupérer les valeurs de la réponse de la requête HTTP configurée dans le connecteur.

Dans cet exemple, la valeur du paramètre Extract a sub-part of the reponse (Extraire une sous-partie de la réponse) est '.', pour effectuer une boucle sur les deux enregistrements 'Peter' et 'Emma' :

Nom/Valeur Résultat
  • name/{.response.name}

    Vous permet de récupérer les noms

  • age/{.response.age}

    Vous permet de récupérer les âges

  • address1/{.response.addresses.street}

    Vous permet de configurer l'attribut 'street (rue)' de l''address (adresse)' dans le champ 'address1'

  • address2/{.response.addresses.zip} {.response.addresses.city}

    Vous permet de concaténer les attributs 'zip (code postal)' et 'city (ville)', depuis le sous-objet 'addresses (adresses)', dans le champ 'address2'

  • first_car_brand / {.response.cars[0].brand}

    Vous permet d'extraire l'attribut 'brand (marque)' du premier élément du tableau 'car'

Extrayez les données du payload contenues par les entrées Name/Value (Nom/Valeur) et disposez-les dans des colonnes. Dans cet exemple, les enregistrements contenant le nom, l'âge, l'adresse et la marque de la première voiture de Peter et Emma sont extraits.

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 – faites-le-nous savoir.