
Power AutomateのJSON の解析(Parse JSON)アクションは、API連携や複雑なデータ処理で必ず登場する重要なアクションです。仕組みさえ理解すれば、動的コンテンツとして各項目を取り出せるようになります。

JSON の解析(Parse JSON)とは何をするアクションか
JSON の解析(Parse JSON)は、JSON形式のテキストを解析して、その中に含まれる各項目を後続のアクションで使えるよう、動的コンテンツとして取り出すためのアクションです。JSON の解析(Parse JSON)を使わないと、JSONテキスト全体がひとまとまりの文字列として扱われてしまい、個別の項目を取り出すのが難しくなります。
簡単にいえば、包まれた箱(JSON文字列)を開けて中身を取り出すためのアクション——というイメージです。HTTPアクションで外部APIと連携したとき、作成(Compose)アクションで中間データを整形したとき、または変数に格納したJSON文字列を使いたいときに登場します。
スキーマが鍵
JSON の解析(Parse JSON)を使うには「スキーマ」を定義する必要があります。スキーマとは、JSONの構造(どんなキーがあって、型は何か)を記述したものです。これを設定しないとどの項目を取り出せばいいかをPower Automateが判断できません。
スキーマは手書きする必要はなく、サンプルのJSONをそのまま貼り付けることで自動生成できます。

スキーマの自動生成手順
- まずフローを一度実行し、処理対象のJSONデータを確認する(実行履歴から確認できます)
- JSON の解析(Parse JSON)アクションを追加し、「スキーマ」欄の下にある「サンプルのペイロードを使用してスキーマを生成する」をクリック
- 実行履歴からコピーしたJSONを貼り付け、「完了」を押す
- スキーマが自動入力されるので、そのまま保存する
実行履歴の確認方法はフロー詳細ページの「28日間の実行履歴」から任意の実行を開き、該当アクションのアウトプットを見ます。詳しいデバッグ方法はフロー実行履歴の見方とデバッグのコツでも解説しています。
型の不一致に注意
スキーマを自動生成した場合、サンプルとして使ったデータの型がそのまま記録されます。ここで注意が必要なのは、実際のデータの型とスキーマで定義した型が一致しないとエラーになるケースがあることです。
よくあるのが「数値か文字列かが状況によって変わる」パターンです。たとえば数量の値が、データによって整数(integer)だったり文字列(string)だったりする場合、どちらか一方の型に固定したスキーマを使うとエラーになります。こういったときはスキーマの該当箇所を手動で修正し、型を "type": ["integer", "string"] のように配列で指定すると対応できます。

JSON の解析(Parse JSON)を使う代表的なシーン
HTTPアクションでAPIを叩いた後
外部のREST APIを呼び出すとき、レスポンスはほぼ必ずJSON形式です。HTTPアクションの出力本文をJSON の解析(Parse JSON)に渡して解析することで、必要な項目だけを取り出してその後の処理に使えます。
作成(Compose)で組み立てた中間データを分解するとき
複数のアクションの出力を作成(Compose)でひとつのJSONオブジェクトに組み立てておき、後の処理で必要な部分だけJSON の解析(Parse JSON)で取り出すという使い方もあります。作成(Compose)アクションの実践ガイドと合わせて使うと、フローの可読性が上がります。
Power AppsからPower Automateにデータを渡したとき
Power AppsからPower Automateを呼び出す際、データをJSON文字列で渡すことがあります。受け取った側でJSON の解析(Parse JSON)を使うことで、Power Appsから送られた各パラメータを個別に扱えます。
JSON の解析(Parse JSON)が不要なケース
SharePointの「アイテムの取得」やFormsの「応答の詳細を取得する」などのコネクタアクションは、最初から各フィールドが動的コンテンツとして使えるよう整形されています。これらはJSON の解析(Parse JSON)を使わなくても構いません。JSON の解析(Parse JSON)が必要なのは主に、整形されていない生のJSON文字列を扱うときだけです。
また、それぞれに適用(Apply to each)が突然出てくる記事でも触れましたが、JSON の解析(Parse JSON)で配列を含むJSONを解析するとき、その配列に後続のアクションでアクセスしようとするとApply to eachが自動的に挟まることがあります。これは仕様なので、予期せず出てきても慌てなくて大丈夫です。
まとめ
JSON の解析(Parse JSON)はAPIやHTTPレスポンスを扱うフローでは避けて通れないアクションです。スキーマを手書きするのは難しそうに見えますが、サンプルから自動生成する機能があるので実際のハードルは高くありません。型の不一致だけ気をつけておけば、あとはそこまで難しいアクションではありません。外部連携が必要になったとき、ぜひ試してみてください。
