【PowerAutomate】JSONに特定のキーがあるか確認する方法。setPropaty関数を使う。

スポンサーリンク




作業を自動化する
  • JSONのキー名を調べたい

この記事では、そんな方にJSONに特定のキーがあるか確認する方法を紹介します。

みずしぶき
みずしぶき

この記事を読むと、JSONの処理に強くなります。

スポンサーリンク

フローの動き

JSONに指定のキーが存在するか確認します。

このJSONから品名のキーがあるか判定してみます。

{
  "品名": "メロン",
  "色": "緑"
}

フローを動かすと存在するを表すtrueが表示されました。

true

フローの説明

JSONのキーを判定するアクションはありません。
setPropaty関数の結果でキーが存在するか判断します。

ここから説明するアクションはコピペできます。

アクションの追加にある「自分のクリップボード」を開いてこのコードを貼り付けて使用してください。

{"id":"c5a9aca0-862b-4e55-9c74-e875762eadf8","brandColor":"#8C3900","connectionReferences":{},"connectorDisplayName":"制御","icon":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KIDxwYXRoIGQ9Im0wIDBoMzJ2MzJoLTMyeiIgZmlsbD0iIzhDMzkwMCIvPg0KIDxwYXRoIGQ9Im04IDEwaDE2djEyaC0xNnptMTUgMTF2LTEwaC0xNHYxMHptLTItOHY2aC0xMHYtNnptLTEgNXYtNGgtOHY0eiIgZmlsbD0iI2ZmZiIvPg0KPC9zdmc+DQo=","isTrigger":false,"operationName":"スコープ","operationDefinition":{"type":"Scope","actions":{"JSON":{"type":"Compose","inputs":{"品名":"メロン","色":"緑"},"runAfter":{},"metadata":{"operationMetadataId":"6a91fd09-8e73-44ca-a7ee-3df1c6f83c06"}},"存在するか確認したいキー":{"type":"Compose","inputs":"品名","runAfter":{"JSON":["Succeeded"]},"metadata":{"operationMetadataId":"4e63acd4-8f1a-4991-a3eb-f1a2faa64f97"}},"キーの追加テスト":{"type":"Compose","inputs":"@addProperty(outputs('JSON'),outputs('存在するか確認したいキー'),'test')","runAfter":{"存在するか確認したいキー":["Succeeded"]}},"キー存在判定":{"type":"Compose","inputs":"@equals(outputs('キーの追加テスト'),null)","runAfter":{"キーの追加テスト":["Succeeded","Failed"]},"description":"存在する場合true"},"条件":{"type":"If","expression":{"equals":["@outputs('キー存在判定')","@true"]},"actions":{"作成":{"type":"Compose","inputs":"@{outputs('存在するか確認したいキー')}は既に存在します。","runAfter":{}}},"runAfter":{"キー存在判定":["Succeeded"]},"else":{"actions":{"作成_2":{"type":"Compose","inputs":"@{outputs('存在するか確認したいキー')}は存在しません。","runAfter":{}}}}}},"runAfter":{},"metadata":{"operationMetadataId":"b250d937-99dd-4b29-803f-6e5fa2aed852"}}}

データ操作の「作成」アクションを追加。※名前を「JSON」に変更

{
  "品名": "メロン",
  "色": "緑"
}

>>JSONの詳しい使い方

データ操作の「作成」アクションを追加。※名前を「存在するか確認したいキー」に変更

品名

データ操作の「作成」アクションを追加。※名前を「キーの追加テスト」に変更

addProperty(outputs('JSON'),outputs('存在するか確認したいキー'),'test')

このアクションはJSONに新しいキーと値を追加する関数です。
キーが既に存在する場合はエラーになって結果はnullになるので次のアクションでnullか判断させます。

outputs('キーの追加テスト') = null

存在しないキーを指定した場合は関数に従いキーと値が追加されます。

データ操作の「作成」アクションを追加。※名前を「キー存在判定」に変更

equals(outputs('キーの追加テスト'),null)

アクション右上のメニューから「実行条件の構成」を選択。

「に失敗しました」へチェックを入れて完了。
これで1つ前のアクションがエラーになってもフローは動き続けます。

>>実行条件の構成の詳しい使い方

フローを動かすと「品名」は存在するのでtrueになりました。

ちなみにフローの最後にコントロールの「条件」をつけてみました。
trueだった場合は「品名は既に存在します。」と表示させています。

スポンサーリンク

まとめ

PowerAutomateのJSONに特定のキーがあるか確認する方法を紹介しました。
JSONのキーを判定するアクションは無いので関数のエラーを判断として使いました。関数エラーと「実行条件の構成」はセットで使うと新しい動きができるので参考にしてください。

PowerAutomateのおすすめ記事
人気ページ
Apply to eachの使い方
アレイのフィルター処理の使い方
日付関数の使い方
エラーを無視する方法
メールの内容をExcelへ転記
メール本文から名前を抽出

>>PowerAutomateの記事一覧を見る<<

お気に入り必須!公式ページ
Microsoft Power Automate
式関数のリファレンス
コネクタのリファレンス
Excel Online (Business)のリファレンス

最後まで読んで頂き、ありがとうございます。

「この記事が参考になった」「お礼でコーヒー代をプレゼントしよう」という方がいましたらチップ(15円〜)をお願いいたします。

Amazonギフト券- Eメールタイプ - Amazonベーシック

メールのあて先は 「mizusibuki8080@gmail.com」です。
※上記のアドレスは投げ銭受け取り専用です。他のメールは受け取れない設定にしてあるのでご注意ください。

作業を自動化する
ネットワークエンジニアになった人
タイトルとURLをコピーしました