Article • 26/10/2022 • 4 minutes de lecture.
Les objets JSON
Un objet JSON contient des données sous forme de paire attribut / valeur séparées par deux-points. Chaque entrée (soit chaque paire) est séparée par une virgule.
Pour obtenir la valeur d'un attribut dans un objet, l'expression est la suivante : variables('monObjet')?['attribut']
Exemple : un individu nommé John DOE, âgé de 30 ans.
variables('Individu')?['firstname'] nous donnerait son prénom. variables('Individu')?['lastname'] son nom, et variables('Individu')?['age'] son âge.
Il est aussi possible d'ajouter des attributs dans un objet déjà existant grâce à l'expression : addProperty(objectName, attribut, valeur).
Exemple : notre Individu possède une voiture de marque Porsche équivaut à addProperty(variables('Individu'),'voiture','porsche').
Les tableaux
Un tableau est une liste de valeurs. Chaque valeur du tableau est une case possédant un indice selon sa place dans le tableau. La numération des indices commence à 0, par conséquent, la première valeur d'un tableau aura toujours comme indice 0.
Pour obtenir le contenu d'une case, il faut utiliser l'expression : variables('monObjet')[indice]
Exemple : je veux connaître le contenu de la première case (d'indice 0) et troisième case (d'indice 2) d'un tableau. J'utilise alors : variables('monTableau')[0] et variables('monTableau')[2].
Les tableaux d'objets
Le tableau d'objets fait la synthèse des deux notions précédentes. En effet, il est possible stocker des objets dans chaque case d'un tableau pour créer des collections de données détaillées.
C'est notamment ce que nous obtenons lorsque nous listons des lignes sur Power Automate.
Lorsque nous listons des tâches (action Dataverse) par exemple, nous obtenons le corps (ou body) de notre requête qui est un objet contenant un tableau value, contenant lui-même un ensemble d'objets (les Tâches) des résultats de la recherche.
Pour obtenir l'ensemble des éléments (value) contenu dans le body, il faudra alors utiliser l'expression : outputs('Lister_les_taches')?['body/value'].
Pour obtenir le premier élément des résultats, nous pouvons utiliser l'expression first() : first(outputs('Lister_les_taches')?['body/value'])?['subject']
Pour filtrer les résultats d'une requête, nous pouvons utiliser les étapes "Filtrer un tableau".
Exemple : dans la liste de résultats de notre requête des tâches, nous souhaitons obtenir uniquement les tâches dont le sujet contient le mot "Article".
Dans l'action Filtrer un tableau saisir le résultat de la requête "Lister les tâches" outputs('Lister_les_tâches')?['body/value'] et saisir en valeur item()?['attribut'] qui contient Article.