Aller au contenu principal

Requête JSONPath

Configuration actuelle de la tâche JSONPath Query dans le Workflow Designer

La tâche Requête JSONPath permet d’exécuter des requêtes sur des données JSON en utilisant des expressions JSONPath. Ceci est utile pour extraire des informations spécifiques à partir de structures JSON complexes.

Définition d’une Requête JSONPath

Une Requête JSONPath est une expression qui permet de localiser et d’extraire des données à partir d’une structure JSON en naviguant ses éléments de manière hiérarchique. Elle utilise une syntaxe similaire à celle des chemins de fichiers pour se référer à des propriétés, des objets imbriqués et des tableaux, permettant de sélectionner des valeurs spécifiques, des collections d’éléments ou des portions structurées du document JSON.

Configuration

JSON: Données JSON en entrée, fournies directement sous forme de texte ou via un paramètre dynamique (par exemple, la sortie DataExportJson de la tâche Database), pas en tant que chemin de fichier, mais comme contenu JSON direct

Exemple d’expression JSONPath :

$.value[?(@.name=='wmr')].type

Structure de la Requête

  • $: Représente la racine du document JSON.
  • .value: Sélectionne l’élément value directement sous la racine.
  • [?(@.name=='wmr')]: Filtre les éléments du tableau value pour inclure uniquement ceux dans lesquels l’attribut name est égal à 'wmr'.
  • .type: Sélectionne l’attribut type des éléments filtrés.

Exemple de Document JSON

Supposons que nous ayons le document JSON suivant :

{
"value": [
{
"name": "wmr",
"type": "exampleType1"
},
{
"name": "otherName",
"type": "exampleType2"
}
]
}

Résultat de la Requête

La requête $.value[?(@.name=='wmr')].type sélectionnera la valeur de l’attribut type pour l’élément dans lequel name est 'wmr'. Dans notre exemple, le résultat sera :

[
"exampleType1"
]

Paramètre de Sortie

À la complétion de l’exécution, la tâche rend disponibles les Paramètres de Sortie suivants, utilisables comme entrées dans les tâches suivantes du Workflow.

  • result: Ce paramètre peut contenir un message d’erreur ou le résultat de la requête.
  • resultJson: Représente le résultat de l’exécution de la tâche au format JSON, incluant des informations générales, des configurations et des détails sur l’exécution.