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 :
L'expression de chemin pour y parvenir est la suivante :{
"phones": [
{
"type": "mobile",
"number": "111-222-3333"
},
{
"type": "home",
"number": "444-444-5555"
}
]
}
| 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"
}