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