Power Automate「JSONの解析」アクションでJSONと仲良くなろう!
2021-10-07
azblob://2022/11/11/eyecatch/2021-10-07-power-automate-json-best-friends-000.jpg

こんにちは、あおいです。
現在進行形でPower Platformとは少しずつ仲良くなっています。
 

さて、Power Automateの[データ操作]コネクタに[JSONの解析]アクションがあります。
いきなりですが、次のように思われた経験はないでしょうか?

『JSONの解析アクションの使いどころが分からない…』

『JSONの解析アクションのメリットって何?』

Power Automate初心者の方は特にこのように感じることがあるのではないでしょうか。
自分も最初はこの[JSONの解析]アクションがどのように役立つのかいまいち分かりませんでしたが、使い方やメリットを理解すると非常に便利なアクションです!

そこで、今回はPower Automateの[JSONの解析]アクションの使い方やメリットについてハンズオン形式で紹介したいと思います。


まず、SharePointで以下のような[商品一覧]リストを作成してみてください。




Power Automateで[インスタントクラウドフロー]を選択して、[手動でフローをトリガーします]をトリガーとします。




[SharePoint]コネクタの[SharePointにHTTP要求を送信します]アクションを選択します。
サイトのアドレス[適当なSharePointサイトアドレスを選択]、方法[GET]、URI[_api/web/lists/getbytitle('商品一覧')/items(1)]、ヘッダー[Accept:application/json;odata=nometadata]など各項目を設定していきます。
※metadataは今回使用しないのでヘッダー情報に[application/json;odata=nometadata]と加えています。



このアクションについて簡単に説明します。
SharePointにはREST API という機能が備っています。このアクションの各項目を設定することで、SharePointのリストやファイルに対して作成、読み取り、更新、および削除 (CRUD) 操作を実行できます。

今回は[商品一覧]リストのアイテムID1の「商品番号:1, 商品名:コンソメパンチ, 分類:お菓子」を取得してみます。
また、後続のフローで[データ操作]コネクタから[作成]アクションを選択して、以下のように動的なコンテンツをセットしてみてください。




それでは、一旦フローを実行して任意のアイテム情報が取得できているか確認してみましょう。

上記画像の右下部分を確認してみると、コンソメパンチのアイテム情報が取得できていますね!
ちなみに、先ほどURIで設定したitems(1)のアイテムIDは、body情報のIDの数値に該当します。



ただ、データ操作の中身を確認してみてください。
動的なコンテンツにはbody情報が全て含まれていますが、あくまでも使いたいのはbody情報の中身の値です。
ちょっとこのままでは扱いずらいですね…どうにかして中身の値を抽出したいです。




こんな時に[JSONの解析]アクションを使います!
bodyの{ }の記号で括られたObject(オブジェクト)型データを利用します。body値(赤枠部分)を範囲選択してコピーします。




[データ操作]コネクタの[JSONの解析]アクションを選択します。 
コンテンツ[動的なコンテンツからbodyを選択]、スキーマ[サンプルから生成を選択し、先ほどコピーした値を貼り付けて完了]など各項目を設定していきます。

このアクションについて簡単に説明します。 
システムからデータを取得するとJSONという形式でPower Automateへダウンロードされるのですが、そのまま使う事は難しいため、この[JSONの解析]で変換を行い、各項目を抽出して後続のフローで簡単に利用できるようにするものです。もちろん、先ほどのbodyの中身もJSON形式となっています。
 

もし、JSON自体がよく分からない方はこちらの記事を一読するのが大変おすすめです。
JSONと仲良くなるために (1) ー JSONとは何者なのか
JSONと仲良くなるために (2) ー データ型
JSONと仲良くなるために (3) ー JSONを読んでみよう
JSONと仲良くなるために (4) ー JSONの値を取得する
JSONと仲良くなるために (まとめ)


 

[データ操作]コネクタの[作成]アクションを選択します。
ここで、動的なコンテンツタブを確認してみてください!
[商品番号(ItemNumber)][商品名(ItemName)][分類(ItemCategory)]等のアイテム情報が動的なコンテンツとして表示されています!JSON形式のbodyデータが[JSONの解析]で変換が行われ、動的なコンテンツとして各項目が抽出されたからです!




それでは、以下のように動的なコンテンツをセットして、もう一度フロー実行をしてみましょう!


きちんとアイテム情報の中身が表示されていますね!

[JSONの解析]アクションのメリットは中身の値を抽出して、後続のフローで利用できることです!
抽出した値をExcel等のデータソースに書き込んだり、OutlookやSlack等のメール送信にも使えます!



今回はPower Automateの[JSONの解析]アクションの使い方やメリットについて紹介させていただきました。難しそうなアクションに見えて最初は何となく身構えてしまうかもしれませんが、試しにどんどん使っていけばこのアクションの便利さが自然と理解できるようになってきます![JSONの解析]アクションを使ってJSONと仲良くなりましょう!!!

関連記事
Power Automateで取得したJSONをPower Appsで解析する方法 | cloud.config Tech Blog
 


余談ですが、2022年9月2日、私が執筆した書籍『Microsoft Power Platformローコード開発[活用]入門 – 現場で使える業務アプリのレシピ集』が全国書店で販売されました!

株式会社FIXER『Microsoft Power Platformローコード開発[活用]入門 – 現場で使える業務アプリのレシピ集』, 技術評論社, 2022年9月

また、本書の別紙サポートページにはColumn「JSONと仲良くなろう!」が掲載されていますが、実はこちらの記事をもとにしています(笑)

書籍発売に至るまでの軌跡をこちらの記事に全て書き記しました!是非ご覧ください!
テックブログ執筆をはじめてたった8ヶ月で書籍出版のオファーがきました。 | cloud.config Tech Blog