Convertir un objeto en una matriz (versión preliminar)

Identificación de plantilla: convertobjecttoarray

Convierte un objeto JSON en el cuerpo de solicitud o respuesta en una matriz. 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 un nombre de propiedad para la clave de cada objeto secundario y un nuevo nombre de propiedad para las propiedades dentro de cada objeto secundario. 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:

    {
        "peopleObject":{
            "XYZ":{
                "Age": "30"
            },
            "ABC":{
                "Age": "23"
            }
        }
    }
Parámetro de entrada Valor
propertyParentPath@body()
propertySubPathpeopleObject
newPropertyPath@body().peopleArray
nombre de claveNombre
nombre de valorDetalles

Salida JSON:

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

Ejemplo #2

Entrada JSON

    {
        "sets":[
            {
                "people":{
                    "XYZ":{
                        "Age": "30"
                    },
                    "ABC":{
                        "Age": "23"
                    }
                }
            },
            {
                "people":{
                    "PQR":{
                        "Age": "32"
                    },
                    "MNO":{
                        "Age": "26"
                    }
                }
            },
        ]
    }
Parámetro de entrada Valor
propertyParentPath@body().sets
propertySubPathpeople
newPropertyPath@item().people
nombre de claveNombre
nombre de valorDetalles

Salida JSON:

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

Tenga en cuenta que, dado que el padre sets es una colección, la transformación se aplica a cada subPath people.

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
PlanificadorTransforme un objeto de referencias en una matriz de referencias en la respuesta para la acción Obtener detalles de tarea.

Parámetros de entrada

Nombre Llave Necesario 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 of the new property x-ms-apimTemplateParameter.newPropertyPath True String Ruta de la nueva propiedad.
Property name for the key x-ms-apimTemplateParameter.keyName String Nombre de propiedad de la clave.
Property name for the value x-ms-apimTemplateParameter.valueName String Nombre de propiedad del valor.
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.