Convertir un objet en un tableau (aperçu)

ID du modèle : convertobjecttoarray

Convertit un objet JSON dans le corps de la demande ou de la réponse en tableau. 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 un nom de propriété pour la clé de chaque objet enfant et un nouveau nom de propriété pour les propriétés de chaque objet enfant. 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 lui-même 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 n°1

JSON en entrée :

    {
        "peopleObject":{
            "XYZ":{
                "Age": "30"
            },
            "ABC":{
                "Age": "23"
            }
        }
    }
Paramètre d’entréeValeur
propertyParentPath@body()
propertySubPathpeopleObject
newPropertyPath@body().peopleArray
keyNameNom 
valueNameInformations

JSON en sortie :

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

Exemple n°2

JSON en entrée

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

JSON en sortie :

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

Notez que puisque le sets parent est une collection, la transformation est appliquée à chaque people de subPath.

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 objet de références en un tableau de références dans la réponse pour l’action Obtenir les détails de la tâche.

Paramètres d’entrée

Nom Touche Obligatoire 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 of the new property x-ms-apimTemplateParameter.newPropertyPath Vrai String Chemin de la nouvelle propriété.
Property name for the key x-ms-apimTemplateParameter.keyName String Nom de propriété de la clé.
Property name for the value x-ms-apimTemplateParameter.valueName String Nom de propriété de la valeur.
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.