テンプレート ID: convertobjecttoarray
要求または応答本文の JSON オブジェクトを配列に変換します。 このテンプレートは、Power Apps と Power Automate で使用できます。
開始するには、親オブジェクトまたはコレクションへのパスと、配列が配置されている親内のプロパティ サブパスを指定します。 次に、各子オブジェクトのキーのプロパティ名と、各子オブジェクト内のプロパティの新しいプロパティ名を指定します。 最後に、新しいオブジェクト プロパティの書き込み先のパスを指定します。
留意すべきいくつかの点は次のとおりです。
- 親自体が変換する配列である場合は、subPath を空のままにすることができます。
- 既存の配列を上書きするには、パスは以前に指定した親パスとプロパティ サブパスになります。
- 指定したオブジェクト キーを新しいオブジェクト内のプロパティとして保持するには、[キーの保持] オプションを "true" (空のままにした場合の既定値) に設定します。 それ以外の場合は、オプションを "false" に設定します。
例示
次のパラメーターを使用するいくつかの例を見てみましょう。
例 1
入力 JSON:
{
"peopleObject":{
"XYZ":{
"Age": "30"
},
"ABC":{
"Age": "23"
}
}
}
| 入力パラメーター | 価値 |
| propertyParentPath | @body() |
| propertySubPath | peopleObject |
| 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 |
| propertySubPath | people |
| 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 | ポリシーが適用されるアクションとトリガーの一覧。 操作が選択されていない場合、このポリシーはすべての操作に適用されます。 |