次の方法で共有


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

テンプレート ID: convertobjecttoarray

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

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

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

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

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

例 1

入力 JSON:

    {
        "peopleObject":{
            "XYZ":{
                "Age": "30"
            },
            "ABC":{
                "Age": "23"
            }
        }
    }
入力パラメーター
propertyParentPath@body()
propertySubPathpeopleObject
newPropertyPath@body().peopleArray
keyName件名
valueNameDetails

出力 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
keyName件名
valueNameDetails

出力 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 はコレクションであるため、変換は各 subPath people に適用されることに注意してください。

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

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

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

パラメーターの入力

名称 キー 必要 内容
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 列挙 このポリシーをいつ実行するかを指定します
- 要求 : ポリシー テンプレートは、要求がバックエンド API に送信される前に実行されます。
- 応答 : ポリシーは、バックエンド API から応答を受信した後に実行されます。
Operations x-ms-apimTemplate-operationName 配列 ポリシーが適用されるアクションとトリガーのリスト。 操作が選択されていない場合、このポリシーはすべての操作に適用されます。