オブジェクトを配列に変換する (プレビュー)

テンプレート ID: convertobjecttoarray

要求または応答本文の JSON オブジェクトを配列に変換します。 このテンプレートは、Power Apps と Power Automate で使用できます。

開始するには、親オブジェクトまたはコレクションへのパスと、配列が配置されている親内のプロパティ サブパスを指定します。 次に、各子オブジェクトのキーのプロパティ名と、各子オブジェクト内のプロパティの新しいプロパティ名を指定します。 最後に、新しいオブジェクト プロパティの書き込み先のパスを指定します。

留意すべきいくつかの点は次のとおりです。

  • 親自体が変換する配列である場合は、subPath を空のままにすることができます。
  • 既存の配列を上書きするには、パスは以前に指定した親パスとプロパティ サブパスになります。
  • 指定したオブジェクト キーを新しいオブジェクト内のプロパティとして保持するには、[キーの保持] オプションを "true" (空のままにした場合の既定値) に設定します。 それ以外の場合は、オプションを "false" に設定します。

例示

次のパラメーターを使用するいくつかの例を見てみましょう。

例 1

入力 JSON:

    {
        "peopleObject":{
            "XYZ":{
                "Age": "30"
            },
            "ABC":{
                "Age": "23"
            }
        }
    }
入力パラメーター 価値
propertyParentPath@body()
propertySubPathpeopleObject
newPropertyPath@body().peopleArray
キー名名前
valueName詳細

出力 JSON:

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

例 2

入力 JSON

    {
        "sets":[
            {
                "people":{
                    "XYZ":{
                        "Age": "30"
                    },
                    "ABC":{
                        "Age": "23"
                    }
                }
            },
            {
                "people":{
                    "PQR":{
                        "Age": "32"
                    },
                    "MNO":{
                        "Age": "26"
                    }
                }
            },
        ]
    }
入力パラメーター 価値
propertyParentPath@body().sets
propertySubPathpeople
newPropertyPath@item().people
キー名名前
valueName詳細

出力 JSON:

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

sets はコレクションであるため、変換は各サブパス peopleに適用されることに注意してください。

オープンソース コネクタの例

このテンプレートの 1 つのインスタンスが、オープンソースのコネクタ リポジトリで使用されています。

Connector シナリオ
Planner[タスクの詳細の取得] アクションの応答で、参照のオブジェクトを参照の配列に変換します。

パラメーターの入力

名前 Key 必須 タイプ Description
Target object or collection path x-ms-apimTemplateParameter.propertyParentPath 正しい String オブジェクトまたはコレクションへのパス。
Property subpath x-ms-apimTemplateParameter.propertySubPath String オブジェクトまたはコレクション内のプロパティ サブパス。
Path of the new property x-ms-apimTemplateParameter.newPropertyPath 正しい String 新しいプロパティのパス。
Property name for the key x-ms-apimTemplateParameter.keyName String キーのプロパティ名。
Property name for the value x-ms-apimTemplateParameter.valueName String 値のプロパティ名。
Run policy on x-ms-apimTemplate-policySection 正しい Enum このポリシーを実行するタイミングを指定します
- 要求: ポリシー テンプレートは、要求がバックエンド API に送信される前に実行されます。
- 応答: ポリシーは、バックエンド API からの応答を受信した後に実行されます。
Operations x-ms-apimTemplate-operationName Array ポリシーが適用されるアクションとトリガーの一覧。 操作が選択されていない場合、このポリシーはすべての操作に適用されます。