MoreBeerMorePower

Power Platform中心だけど、ノーコード/ローコード系を書いてます。

JSON でほしいデータを取得する "Path" を確認するツールのご紹介

f:id:mofumofu_dance:20210422153257p:plain

『JSON でデータが得られるけど、目的の値どうやって取るかわからん!』 という方に朗報!

とっても使いやすいツールがあったのでご紹介です。

lab.syncer.jp

こちら、JSON Pretty Linter 。 その名の通り JSON の整形 (インデントとかきれいにしてくれる) や評価を行ってくれる Webツールです。

これだけなら、VS Codeで十分なのですが、今回注目するのは黄色でハイライト👇の箇所『JSONの構造や値へのパスを確認できます』です。

f:id:mofumofu_dance:20210422153754p:plain
ツール画面

これがすごい便利!

例えば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..." の値を取得したいとき、ここへの「パス」が必要になるんですが、慣れないと一苦労です。

このツールではパスをそれぞれの値に対して表示してくれます。

f:id:mofumofu_dance:20210422154808p:plain
パスの確認がすごく楽

上の図では object['events'][0]['source']['userId'] ですね。

これを Power Automate/Logic Apps で使うのであれば、 objecttriggerBody() とかに変えればよいですね。

あとは [....]の前に ? をつけると、空だった時にアクションがエラーにならなくなります。

object['events'][0]['source']['userId'] → triggerBody()?['events']?[0]?['source']?['userId'] こんな感じです。

ということで便利ツールのご紹介でした。