Freigeben über


Ein Objekt in ein Array konvertieren (Vorschau)

Vorlagen-ID: convertobjecttoarray

Konvertiert ein JSON-Objekt im Anfrage- oder Antwort-Text in ein Array. Diese Vorlage ist in Power Apps und Power Automate verfügbar.

Geben Sie zu Beginn den Pfad zum übergeordneten Objekt oder zur übergeordneten Sammlung und den Eigenschaften-Unterpfad innerhalb des übergeordneten Objekts an, in dem sich das Array befindet. Als nächstes geben Sie einen Eigenschaftsnamen für den Schlüssel jedes untergeordneten Objekts und einen neuen Eigenschaftsnamen für die Eigenschaften innerhalb jedes untergeordneten Objekts an. Geben Sie schließlich den Pfad an, in den die neue Objekteigenschaft geschrieben wird.

Einige Dinge, die Sie beachten sollten:

  • Sie können den Unterpfad leer lassen, wenn das übergeordnete Element das Array ist, das Sie transformieren möchten.
  • Um das vorhandene Array zu überschreiben, wäre der Pfad der zuvor angegebene übergeordnete Pfad und Eigenschafts-Unterpfad.
  • Um den angegebenen Objektschlüssel als Eigenschaft innerhalb des neuen Objekts beizubehalten, setzen Sie die Option Schlüssel beibehalten auf true (dies ist die Standardeinstellung, wenn sie leer bleibt). Andernfalls setzen Sie die Option auf "false".

Beispiele

Schauen wir uns einige Beispiele an, die die folgenden Parameter verwenden.

Beispiel #1

JSON Eingabe:

    {
        "peopleObject":{
            "XYZ":{
                "Age": "30"
            },
            "ABC":{
                "Age": "23"
            }
        }
    }
Eingabeparameter Farbe
propertyParentPath@body()
propertySubPathpeopleObject
newPropertyPath@body().peopleArray
keyNameName des Dataflows
valueNameInformationen

JSON Ausgabe:

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

Beispiel #2

JSON Eingabe

    {
        "sets":[
            {
                "people":{
                    "XYZ":{
                        "Age": "30"
                    },
                    "ABC":{
                        "Age": "23"
                    }
                }
            },
            {
                "people":{
                    "PQR":{
                        "Age": "32"
                    },
                    "MNO":{
                        "Age": "26"
                    }
                }
            },
        ]
    }
Eingabeparameter Farbe
propertyParentPath@body().sets
propertySubPathPersonen
newPropertyPath@item().people
keyNameName
valueNameDetails

JSON-Ausgabe:

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

Bitte beachten Sie, dass die Transformation auf jeden Unterpfad angewendet wird, da es sich beim übergeordneten Element sets um eine Sammlung handelt people.

Beispiel für Open-Source-Connectors

Wir haben eine Instanz dieser Vorlage, die in unserem Open-Source-Konnektor-Repository verwendet wird.

Verbinder Szenario
PlanerWandeln Sie ein Referenzobjekt in ein Referenzarray in der Antwort für die Aktion „Aufgabendetails abrufen“ um.

Eingabeparameter

Name Schlüssel Erforderlich Art Beschreibung
Target object or collection path x-ms-apimTemplateParameter.propertyParentPath Ja String Pfad zum Objekt oder zur Sammlung.
Property subpath x-ms-apimTemplateParameter.propertySubPath String Eigenschaftsunterpfad innerhalb des Objekts oder der Sammlung.
Path of the new property x-ms-apimTemplateParameter.newPropertyPath Ja String Pfad des neuen Objekts.
Property name for the key x-ms-apimTemplateParameter.keyName String Eigenschaftsname für den Schlüssel.
Property name for the value x-ms-apimTemplateParameter.valueName String Eigenschaftsname für den Wert.
Run policy on x-ms-apimTemplate-policySection Ja Aufzählung Gibt an, wann diese Richtlinie ausgeführt werden soll
- Request: Die Richtlinienvorlage wird ausgeführt, bevor die Anforderung an die Backend-API gesendet wird.
- Response: Die Richtlinie wird nach Erhalt der Antwort von der Backend-API ausgeführt.
Operations x-ms-apimTemplate-operationName Array Liste der Aktionen und Trigger, für die die Richtlinie gelten soll. Wenn keine Operation ausgewählt ist, gilt diese Richtlinie für alle Operationen.