最近がっつり行っていると言えば、PowerAutomateによる業務改善です。
ローコードで開発ができるのは私のようなプログラム音痴にはありがたく、色々と楽しく仕事させてもらってます。
今回はPowerAutomateの変数でJSONの値を出し入れする内容を、シンプルに紹介します。
当記事の経緯
Power Automateで変数1つで在庫管理したいんだけど、シンプルな方法が知りたいんだ。
JSON形式ならオブジェクトとして柔軟に使えますよ。
えーっと、Webでブログなど調べると…「JSONの解析」を使うのかな?
いえ、もっと簡単な方法がありますよ。
(正直JSONの解析って、初心者には難しいと思う)
やりたいこと:PowerAutomate変数でJSONの値出し入れを行う
ただし、JSONの解析は無しな。
まずは、扱いたい配列を説明しましょう。
以下のような値を変数で扱いたいとします。
りんご 1個
ごりら 1頭
らっぱ 1挺
ぱせり 1把
これを、PowerAutomateの変数で扱おうということです。
JSONで表記するとこうなります↓
{
“りんご”:1,
“ごりら”:1,
“らっぱ”:1,
“ぱせり”:1
}
この数を出し入れする方法を紹介します。
ただし、様々なブログで紹介されている「JSONの解析」は使いません!
PowerAutomateのサンプル紹介
百聞は一見にしかず、さっそく紹介します。
まずは変数の初期化
前提として、変数(オブジェクト)を初期化します。値はJSON形式で。
変数からJSONの値を取り出す方法
JSON形式で保管されている変数から値を取り出すには、「データ操作:作成」アクションを使います。
【例】”ごりら”の値を取り出したい場合は、以下のようにします。
variables(‘在庫品’)?[‘ごりら’]
式を書く必要がありますが、シンプルです。
“在庫品”という変数の中の、”ごりら”というプロパティの値を取り出す、という書き方です。
PowerAutomateを動かした結果はこちらです↓
ちゃんと、値=50 が取り出せましたね。
変数のJSONに値を入れる方法
値を入れる方法は2アクションが必要です。
【例】”ごりら”の値に0をセットしたい場合は、以下のようにします。
1.まずは、「データ操作:作成」アクションでプロパティを変更した後のデータを作ります。
setProperty(variables(‘在庫品’), ‘ごりら’, 0)
こちらも式を書きます。
“在庫品”という変数の中の、”ごりら”というプロパティの値を0にするという内容です。
※これだけで変数の値は変わりません。この状態は「データ操作:作成」という新しいデータオブジェクトができた状態です。プログラム的な考え方なので説明が難しいですが…
2.次に、元の変数に上記1のデータ操作で作った値で上書きします。
PowerAutomateを動かした結果はこちらです↓
変数のJSONの値にちゃんと設定できましたね。
謎も残る
上の結果で気づいたのですが、JSONの値の順番が変更されていますね。
“ごりら”は2番目だったのに、setPropertyでセットすると一番下の4番目になってます。
これじゃ、しりとりにならないね。
謎が残りますが、順番が重要な場合はもう一工夫いりそうです。
まとめ
1.PowerAutomateにて、変数でJSONの値出し入れのシンプルな方法(※データ操作:作成アクションを使う)を紹介しました。
2.JSONの解析アクションを使うよりも直感的にわかりやすいと思います。
3.シンプルにJSONの値を出し入れしたいといったニーズがあれば、是非使ってみてください。
コメント