Exemples

Ces exemples montrent la fonctionnalité d'un nœud Lecture JSON.

Exemple 1 : Le cas d'utilisation consiste à définir un flux ou des variables de cache sur les variables Person_ID, City et Full_Address d'un enregistrement.

Les données d'entrée sont les suivantes :
{
   "id": 123,
   "name": "fred",
   "address": {
      "street": "101 Main St",
      "city": "London"
   }
}
et la table Chemins d'accès est définie comme suit :
Chemin Variable/Clé
id Person_ID
$.address.city Ville
$.address Full_Address
Si la portée de la variable est définie sur des variables de flux ou de cache, elle définira les 3 variables ci-après :
Chemin Variable/Clé
Person_ID 123
Ville Londres
Full_Address {"street": "101 Main St", "city": "London"}
Remarque : Si le chemin renvoie un objet ou une matrice JSON, la valeur est la forme sérialisée de cet objet ou de cette matrice.
Si la propriété Contenu de sortie est définie pour filtrer l'entrée, la sortie de cet exemple sera :
{
    "Person_ID": 123,
    "City": "London",
    "Full_Address": {
        "street": "101 Main St",
        "city": "London"
    }
}

Exemple 2 : cet exemple illustre les expressions de requête.

Le cas d'utilisation consiste à définir une variable de flux sur le numéro de téléphone portable d'un enregistrement.

Les données d'entrée sont les suivantes :
{
   "phones": [
     {
     "type": "mobile",
     "number": "111-222-3333"
     },
     {
     "type": "home",
     "number": "444-444-5555"
     }
   ]
}
L'expression de chemin pour y parvenir est la suivante :
Chemin Variable/Clé
$.phones[?(@.type == "mobile")].number mobile
Cela signifie que dans la matrice "téléphones", recherchez l'objet dont la zone "type" est "mobile", puis renvoyez la zone "numéro" de cet objet. Cette variable de flux donnera le résultat suivant :
Nom Valeur
mobile 111-222-3333
Si la propriété Contenu de sortie est définie pour filtrer l'entrée, la sortie de cet exemple sera :
{
    "mobile": "111-222-3333"
}