Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Identificación de plantilla: convertarraytoobject
Convierte una matriz en el cuerpo en un objeto JSON con elementos identificados por una clave especificada por el usuario. Esta plantilla está disponible en Power Apps y Power Automate.
Para comenzar, especifique la ruta al objeto o la colección principal y la ruta secundaria de la propiedad dentro de la principal donde se encuentra la matriz. A continuación, especifique una propiedad dentro de cada elemento de la matriz como clave de objeto. La existencia de dicha clave es necesaria para que la transformación tenga sentido, ya que las claves de objeto deben ser únicas y se espera que esa clave de objeto explique el resto de las propiedades, que pasarán a formar parte del valor. Finalmente, especifique la ruta donde se escribirá la nueva propiedad del objeto.
Algunas cosas a tener en cuenta:
- Puede dejar la subruta vacía si el primario es la matriz que desea transformar.
- Para sobrescribir la matriz existente, la ruta sería la ruta principal y la ruta secundaria de propiedad especificadas previamente.
- Para mantener la clave de objeto especificada como una propiedad dentro del nuevo objeto, establezca la opción "Retener clave" en "verdadero" (que es el valor predeterminado si se deja vacío). De lo contrario, establezca la opción en "falso".
Ejemplos
Veamos algunos ejemplos que utilizan los siguientes parámetros.
Ejemplo 1
Entrada JSON:
{
"peopleArray":[
{
"Name": "XYZ",
"Age": "30"
},
{
"Name": "ABC",
"Age": "23"
}
]
}
Parámetro de entrada | Valor |
propertyParentPath | @body() |
propertySubPath | peopleArray |
keyWithinCollectionPath | Nombre |
newPropertyPath | peopleObject |
retainKey | false |
Salida JSON:
{
"peopleArray":[
{
"Name": "XYZ",
"Age": "30"
},
{
"Name": "ABC",
"Age": "23"
}
],
"peopleObject":{
"XYZ":{
"Age": "30"
},
"ABC":{
"Age": "23"
}
}
}
Ejemplo 2
Entrada JSON
{
"sets":[
{
"people":[
{
"Name": "XYZ",
"Age": "30"
},
{
"Name": "ABC",
"Age": "23"
}
]
},
{
"people":[
{
"Name": "PQR",
"Age": "32"
},
{
"Name": "MNO",
"Age": "26"
}
]
}
]
}
Parámetro de entrada | Valor |
propertyParentPath | @body().sets |
propertySubPath | people |
keyWithinCollectionPath | Name |
newPropertyPath | people |
retainKey | true |
Salida JSON:
{
"sets":[
{
"people":{
"XYZ":{
"Name": "XYZ",
"Age": "30"
},
"ABC":{
"Name": "ABC",
"Age": "23"
}
}
},
{
"people":{
"PQR":{
"Name": "PQR",
"Age": "32"
},
"MNO":{
"Name": "MNO",
"Age": "26"
}
}
}
]
}
Tenga en cuenta que, dado que el padre sets
es una colección, la transformación se aplica a cada subPath people
y la clave Name
se conserva ya que maintainKey se establece en verdadero.
Ejemplo de conectores de código abierto
Tenemos una instancia de esta plantilla que se utiliza en nuestro repositorio de conectores de código abierto .
Conector | Escenario |
Planificador | Transforme una matriz de referencias en un objeto con la identificación como clave en la solicitud de acción Actualizar detalles de la tarea. |
Parámetros de entrada
Nombre | Llave | Obligatorio | Tipo | Descripción |
---|---|---|---|---|
Target object or collection path |
x-ms-apimTemplateParameter.propertyParentPath | True | String | Ruta al objeto o colección. |
Property subpath |
x-ms-apimTemplateParameter.propertySubPath | String | Subruta de propiedad dentro del objeto o colección. | |
Path to object key within the array |
x-ms-apimTemplateParameter.keyWithinCollectionPath | True | String | Ruta secundaria a la clave dentro de cada elemento de la matriz. |
Path of the new property |
x-ms-apimTemplateParameter.newPropertyPath | True | String | Ruta de la nueva propiedad. |
Retain key |
x-ms-apimTemplateParameter.retainKey | Enum | Conservar la clave como propiedad. - verdadero - falso |
|
Run policy on |
x-ms-apimTemplate-policySection | True | Enum | Especifica cuándo ejecutar esta directiva - Solicitud: la plantilla de directiva se ejecutará antes de enviar la solicitud a la API de back-end. - Respuesta: la directiva se ejecutará después de recibir la respuesta de la API de back-end. |
Operations |
x-ms-apimTemplate-operationName | Matriz | Lista de acciones y desencadenadores a los que se aplicará la directiva. Si no se selecciona ninguna operación, esta directiva se aplicará a todas las operaciones. |