- JSONのキー名を調べたい
この記事では、そんな方にJSONに特定のキーがあるか確認する方法を紹介します。
![みずしぶき](https://mizusibuki.com/wp-content/uploads/2021/04/6b2eeabee96865bbf70cdc1192482744-150x150.png)
この記事を読むと、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」に変更
{ "品名": "メロン", "色": "緑" }
![](https://mizusibuki.com/wp-content/uploads/2022/11/eb8ae47ab857c398e7c571af9c1e4c21-1024x294.png)
データ操作の「作成」アクションを追加。※名前を「存在するか確認したいキー」に変更
品名
![](https://mizusibuki.com/wp-content/uploads/2022/11/9acec4078d420ea00dd3a74fc68b4270-1024x172.png)
データ操作の「作成」アクションを追加。※名前を「キーの追加テスト」に変更
addProperty(outputs('JSON'),outputs('存在するか確認したいキー'),'test')
![](https://mizusibuki.com/wp-content/uploads/2022/11/620c2422c8b46c2307a694a2ebde5c2a-1024x202.png)
このアクションはJSONに新しいキーと値を追加する関数です。
キーが既に存在する場合はエラーになって結果はnullになるので次のアクションでnullか判断させます。
outputs('キーの追加テスト') = null
![](https://mizusibuki.com/wp-content/uploads/2022/11/171c6a4d5d5b91f28b72d7fd24675484-1024x241.png)
存在しないキーを指定した場合は関数に従いキーと値が追加されます。
![](https://mizusibuki.com/wp-content/uploads/2022/11/45c91379850502c9ae0ffbd4352ab926-1024x268.png)
データ操作の「作成」アクションを追加。※名前を「キー存在判定」に変更
equals(outputs('キーの追加テスト'),null)
![](https://mizusibuki.com/wp-content/uploads/2022/11/1cf486c970747cb990c8b0ecf8e6933c-1024x253.png)
アクション右上のメニューから「実行条件の構成」を選択。
![](https://mizusibuki.com/wp-content/uploads/2022/11/3acd54f478d80534b909dc2bd2b9845c-1024x401.png)
「に失敗しました」へチェックを入れて完了。
これで1つ前のアクションがエラーになってもフローは動き続けます。
![](https://mizusibuki.com/wp-content/uploads/2022/11/acb20b77d82cf8d13e2a638cf30b4899-1024x450.png)
フローを動かすと「品名」は存在するのでtrueになりました。
![](https://mizusibuki.com/wp-content/uploads/2022/11/190b1a835481c9df2e8f6db7aee80e84-1024x128.png)
ちなみにフローの最後にコントロールの「条件」をつけてみました。
trueだった場合は「品名は既に存在します。」と表示させています。
![](https://mizusibuki.com/wp-content/uploads/2022/11/d58d81b94c126c17bdbf6bafcc1999d3-1024x529.png)
まとめ
PowerAutomateのJSONに特定のキーがあるか確認する方法を紹介しました。
JSONのキーを判定するアクションは無いので関数のエラーを判断として使いました。関数エラーと「実行条件の構成」はセットで使うと新しい動きができるので参考にしてください。
PowerAutomateのおすすめ記事
人気ページ
Apply to eachの使い方
アレイのフィルター処理の使い方
日付関数の使い方
エラーを無視する方法
メールの内容をExcelへ転記
メール本文から名前を抽出
>>PowerAutomateの記事一覧を見る<<
お気に入り必須!公式ページ
Microsoft Power Automate
式関数のリファレンス
コネクタのリファレンス
Excel Online (Business)のリファレンス