ParseJSON |
Analyse JSON |
| Power Fx |
Syntaxe
|
ParseJSON( JSONString [ , Type ] )
|
Paramètres
| Nom |
Description |
| JSONString |
Ce paramètre représente la chaîne de caractères au format JSON que l'on souhaite analyser. |
| Type |
Ce paramètre permet de spécifier un type de donnée à associer à l'objet analysé (non requis dans tous les cas). |
Description
Cette fonction permet d'analyser une chaîne JSON valide et retourne un objet non typé.
Remarques
- Utilité principale dans les flux de données externes : La fonction ParseJSON est particulièrement utile lorsqu'une application
Power Apps doit interagir avec des services externes renvoyant des données au format JSON. Elle permet de
transformer une chaîne JSON brute en un objet utilisable dans Power Fx. Cela simplifie l'intégration de services web,
d'API REST ou de connecteurs personnalisés.
- Retour d'un objet non typé par défaut : Lorsque ParseJSON est utilisée sans spécification du paramètre Type, l'objet retourné est non typé, ce
qui signifie que Power Fx ne connaît pas à l'avance la structure des données. Cela oblige le développeur à manipuler les valeurs avec prudence et souvent à recourir
à des conversions explicites avec Value, Text, Boolean,...
- Sécurité et contrôle limité sans typage explicite : En l'absence de typage, le contenu extrait peut provoquer des erreurs si les champs attendus
n'existent pas ou si les types ne correspondent pas. Spécifier un Type permet de renforcer la robustesse du code en assurant que les données correspondent à une
structure prédéfinie, réduisant ainsi les risques d'exécution incorrecte.
- Fonction complémentaire avec Value, Text,... : Pour exploiter les données issues de ParseJSON, il est nécessaire de chaîner la fonction avec d'autres
comme Value(ParseJSON(...).someField) ou Text(...). Cela s'explique par le fait que l'objet retourné ne permet pas un accès direct aux types natifs sans transformation,
ce qui peut allonger les expressions Power Fx.
- Non prise en charge du typage complexe automatique : Même si l'on peut fournir un Type lors de l'analyse JSON,
Power Fx ne génère pas automatiquement des types complexes à partir du contenu JSON comme le ferait un langage typé
comme C# ou TypeScript. Le développeur doit donc définir manuellement le type,
ce qui peut être fastidieux pour des structures JSON imbriquées ou larges.
- Performance et complexité selon la taille du JSON : La performance de ParseJSON peut être affectée par la taille et la complexité de
la chaîne JSON à analyser. Pour les objets volumineux ou profondément imbriqués, le traitement peut devenir lent, en
particulier sur des applications mobiles ou avec des ressources limitées. Il est donc recommandé de simplifier ou de filtrer les données
JSON en amont si possible.
- Ne permet pas de générer des collections automatiquement : ParseJSON retourne un objet, mais ne transforme pas automatiquement un tableau
JSON en collection Power Fx. Pour gérer un tableau d'objets, il faut passer par des expressions comme
Table(ParseJSON(...)) ou utiliser des boucles implicites pour transformer les éléments un par un, ce qui ajoute une couche de complexité.
- Indispensable pour les développeurs d'applications connectées : Dans les applications Power Apps communiquant avec des API REST, ParseJSON est une
fonction incontournable. Elle sert de passerelle entre les formats JSON standards et les structures de données
exploitables dans Power Fx. Sans elle, l'utilisation de JSON dans Power Apps serait extrêmement limitée et difficile à manipuler.
Dernière mise à jour : Jeudi, le 1 Mai 2025