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)

.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).

.root[1].cars

Vous permet de sélectionner un sous-tableau et d'effectuer une itération dessus. Ici, la liste des voitures possédées par Emma est sélectionnée.

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

Vous permet de filtrer les éléments retournés. Ici, la liste des voitures d'Emma ayant plus de 40 000 kilomètres au compteur est retournée.

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'

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 !