Power Apps Power Automateからの応答で配列を受け取りたいときはParseJSONを使う

Power AutomateからPower Appsへの応答を「配列」で返したい、という質問をもらったのでメモ。

スポンサーリンク

やりたいこと

例えば画像のようにPower Automate側で定義した配列を、Power Apps側に渡して、Power Apps側で使用したいときの話。
こんなときはPower Automate側から文字列として戻してあげて、Power Apps側でParseJSONで解析すると楽。

Power Automate側の実装

Power Automate側の構築は簡単で、こんな感じで文字列型の応答に配列をそのまま設定するだけ。
※変数で定義しているときは旧エディタだと候補に出てこないので、「式」から入力する。

Power Automate側の実装は以上。

Power Apps側の実装

Power Apps側は受け取った戻り値を、ParseJSONとForAllを使って、こんな感じで解析する。

With({ret:PowerAppsへの応答サンプル.Run()},
    // ParseJSONで配列したUntypedObjectをForAllで配列(テーブル)化する
    UpdateContext({cats:ForAll(ParseJSON(ret.output), ThisRecord)}); 
)
するとPower Apps側で配列(実際はValue列を持つテーブル)として受け取れるので、
後は使うだけ。
タイトルとURLをコピーしました