『JSON でデータが得られるけど、目的の値どうやって取るかわからん!』 という方に朗報!
とっても使いやすいツールがあったのでご紹介です。
こちら、JSON Pretty Linter 。 その名の通り JSON の整形 (インデントとかきれいにしてくれる) や評価を行ってくれる Webツールです。
これだけなら、VS Codeで十分なのですが、今回注目するのは黄色でハイライト👇の箇所『JSONの構造や値へのパスを確認できます』です。
これがすごい便利!
例えばLINE BotのメッセージイベントのJSONを例に見てみます。
{ "destination": "xxxxxxxxxx", "events": [ { "replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA", "type": "message", "mode": "active", "timestamp": 1462629479859, "source": { "type": "user", "userId": "U4af4980629..." }, "message": { "id": "325708", "type": "text", "text": "@example Hello, world! (love)", "emojis": [ { "index": 23, "length": 6, "productId": "5ac1bfd5040ab15980c9b435", "emojiId": "001" } ], "mention": { "mentionees": [ { "index": 0, "length": 8, "userId": "U850014438e..." } ] } } } ] }
ここから "userId":"U4af4980629..."
の値を取得したいとき、ここへの「パス」が必要になるんですが、慣れないと一苦労です。
このツールではパスをそれぞれの値に対して表示してくれます。
上の図では object['events'][0]['source']['userId']
ですね。
これを Power Automate/Logic Apps で使うのであれば、 object
を triggerBody()
とかに変えればよいですね。
あとは [....]
の前に ?
をつけると、空だった時にアクションがエラーにならなくなります。
object['events'][0]['source']['userId'] → triggerBody()?['events']?[0]?['source']?['userId']
こんな感じです。
ということで便利ツールのご紹介でした。