Partilhar via


Converter um objeto numa matriz (pré-visualização)

ID do modelo: convertobjecttoarray

Converte um objeto JSON no corpo do pedido ou da resposta numa matriz. Este modelo está disponível no Power Apps e no Power Automate.

Para começar, especifique o caminho para o objeto ou coleção do elemento principal e o subcaminho da propriedade no elemento principal onde a matriz está localizada. Em seguida, especifique um nome de propriedade para cada chave de objeto subordinado e um novo nome de propriedade para as propriedades dentro de cada objeto subordinado. Finalmente, especifique o caminho no qual a nova propriedade do objeto será gravada.

Alguns aspetos a ter em conta:

  • Pode deixar o subPath vazio se o principal for a própria matriz que quer transformar.
  • Para substituir a matriz existente, o caminho seria o caminho do elemento principal especificado anteriormente e o subcaminho da propriedade.
  • Para manter a chave de objetos especificada como uma propriedade dentro do novo objeto, defina a opção "Reter chave" para "true" (que é a predefinição se deixado vazio). Caso contrário, defina a opção como "falso".

Exemplos

Vejamos alguns exemplos que usam os seguintes parâmetros.

Exemplo n.º 1

JSON de entrada:

    {
        "peopleObject":{
            "XYZ":{
                "Age": "30"
            },
            "ABC":{
                "Age": "23"
            }
        }
    }
Parâmetro de Entrada Valor
propertyParentPath@body()
propertySubPathpeopleObject
newPropertyPath@body().peopleArray
keyNameNome
valueNameDetalhes

JSON de saída:

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

Exemplo n.º 2

JSON de entrada

    {
        "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
keyNameNome
valueNameDetalhes

JSON de saída:

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

Observe que, como o pai sets é uma coleção, a tranformação é aplicada a cada subcaminho people.

Exemplo de conectores open-source

Temos uma instância desse modelo sendo usada em nosso repositório de conectores de código aberto.

Conector Cenário
PlanejadorTransforme um objeto de referências numa matriz de referências na resposta para a ação Obter Detalhes da Tarefa.

Parâmetros de Entrada

Nome Chave Necessário Tipo Descrição
Target object or collection path x-ms-apimTemplateParameter.propertyParentPath Verdadeiro String Caminho para o objeto ou coleção.
Property subpath x-ms-apimTemplateParameter.propertySubPath String Subcaminho da propriedade na coleção ou objeto.
Path of the new property x-ms-apimTemplateParameter.newPropertyPath Verdadeiro String Caminho da nova propriedade.
Property name for the key x-ms-apimTemplateParameter.keyName String Nome da propriedade para a chave.
Property name for the value x-ms-apimTemplateParameter.valueName String Nome da propriedade para o valor.
Run policy on x-ms-apimTemplate-policySection Verdadeiro Enum Especifica quando executar esta política
- Pedido: o modelo de política será executado antes de o pedido ser enviado para a API de back-end.
- Resposta: a política será executada depois de receber a resposta da API de back-end.
Operations x-ms-apimTemplate-operationName Matriz Lista de ações e acionadores aos quais a política será aplicada. Se nenhuma operação for selecionada, esta política será aplicada a todas as operações.