Convertir un tableau en un objet (aperçu)

ID du modèle : convertarraytoobject

Convertit un tableau du corps en un objet JSON avec des éléments identifiés par une clé spécifiée par l’utilisateur. Ce modèle est disponible dans Power Apps et Power Automate.

Dans cet article

Pour commencer, spécifiez le chemin d’accès à l’objet ou à la collection parent et le sous-chemin de propriété dans le parent où se trouve le tableau. Ensuite, spécifiez une propriété dans chaque élément du tableau comme clé d’objet. L’existence d’une telle clé est nécessaire pour que la transformation ait un sens, car les clés d’objet doivent être uniques et cette clé d’objet est censée expliquer le reste des propriétés, qui feront partie de la valeur. Enfin, spécifiez le chemin dans lequel la nouvelle propriété d’objet sera écrite.

Quelques éléments à prendre en compte :

  • Vous pouvez laisser le sous-chemin vide si le parent est le tableau que vous souhaitez transformer.
  • Pour remplacer le tableau existant, le chemin d’accès serait le chemin d’accès parent et le sous-chemin de propriété précédemment spécifiés.
  • Pour conserver la clé d’objet spécifiée en tant que propriété dans le nouvel objet, définissez l’option « Conserver la clé » sur « true » (qui est la valeur par défaut si elle est vide). Sinon, définissez l’option sur « false ».

Exemples

Étudions quelques exemples qui utilisent les paramètres suivants.

Exemple 1

JSON en entrée :

    {
        "peopleArray":[
            {
               "Name": "XYZ",
               "Age": "30"
            },
            {
               "Name": "ABC",
               "Age": "23"
            }
        ]
    }
Paramètre d’entréeValeur
propertyParentPath@body()
propertySubPathpeopleArray
keyWithinCollectionPathNom
newPropertyPathpeopleObject
retainKeyfaux

JSON en sortie :

    {
        "peopleArray":[
            {
               "Name": "XYZ",
               "Age": "30"
            },
            {
               "Name": "ABC",
               "Age": "23"
            }
        ],
        "peopleObject":{
            "XYZ":{
                "Age": "30"
            },
            "ABC":{
                "Age": "23"
            }
        }
    }

Exemple 2

JSON en entrée

    {
        "sets":[
            {
                "people":[
                    {
                        "Name": "XYZ",
                        "Age": "30"
                    },
                    {
                        "Name": "ABC",
                        "Age": "23"
                    }
                ]
            },
            {
                "people":[
                    {
                        "Name": "PQR",
                        "Age": "32"
                    },
                    {
                        "Name": "MNO",
                        "Age": "26"
                    }
                ]
            }
        ]
    }
Paramètre d’entréeValeur
propertyParentPath@body().sets
propertySubPathpeople
keyWithinCollectionPathNom 
newPropertyPathpeople
retainKeytrue

JSON en sortie :

    {
        "sets":[
            {
                "people":{
                    "XYZ":{
                        "Name": "XYZ",
                        "Age": "30"
                    },
                    "ABC":{
                        "Name": "ABC",
                        "Age": "23"
                    }
                }
            },
            {
                "people":{
                    "PQR":{
                        "Name": "PQR",
                        "Age": "32"
                    },
                    "MNO":{
                        "Name": "MNO",
                        "Age": "26"
                    }
                }
            }
        ]
    }

Veuillez noter que puisque le sets parent est une collection, la transformation est appliquée à chaque people de subPath, et le Name de la clé est conservé, car retainKey est défini sur true.

Exemple de connecteurs open source

Nous avons un exemple de ce modèle utilisé dans notre référentiel de connecteurs open source.

ConnecteurScénario
PlannerTransformez un tableau de références en objet, de sorte que l’ID soit la clé dans la demande de l’action Mettre à jour les détails de la tâche.

Paramètres d’entrée

Nom Touche Requise Type Description
Target object or collection path x-ms-apimTemplateParameter.propertyParentPath Vrai String Chemin d’accès à l’objet ou à la collection.
Property subpath x-ms-apimTemplateParameter.propertySubPath String Sous-chemin de propriété dans l’objet ou la collection.
Path to object key within the array x-ms-apimTemplateParameter.keyWithinCollectionPath Vrai String Sous-chemin vers la clé dans chaque élément du tableau.
Path of the new property x-ms-apimTemplateParameter.newPropertyPath Vrai String Chemin de la nouvelle propriété.
Retain key x-ms-apimTemplateParameter.retainKey Enum Conserver la clé comme propriété.
- true
- false
Run policy on x-ms-apimTemplate-policySection Vrai Enum Spécifie quand exécuter cette stratégie
- Demande : le modèle de stratégie s’exécutera avant l’envoi de la demande à l’API back-end.
- Réponse : la stratégie s'exécutera après réception de la réponse de l'API back-end.
Operations x-ms-apimTemplate-operationName Tableau Liste des actions et déclencheurs auxquels la politique s'appliquera. Si aucune opération n'est sélectionnée, cette stratégie s'appliquera à toutes les opérations.