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ée | Valeur |
propertyParentPath | @body() |
propertySubPath | peopleObject |
newPropertyPath | @body().peopleArray |
keyName | Nom |
valueName | Informations |
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ée | Valeur |
propertyParentPath | @body().sets |
propertySubPath | people |
newPropertyPath | @item().people |
keyName | Nom |
valueName | Informations |
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.
Connecteur | Scénario |
Planner | Transformez 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. |