IT業務効率化

Azure Logic AppでJSON・リストから値を取得するには?

Logic App上でJSONもしくはlistからvalueを取得したい時は

  1. このときは取得したJSON、もしくはリストを一度変数にする。
  2. variablesという式で囲ってから、コードと同じ書き方で取得する(とりあえずPythonとかと一緒)

の2段階に分けて取得する必要があります。

取得するJSONの例

{
    "cod": "200",
    "message": 0,
    "cnt": 1,
    "list": [
        {
            "dt": 1584630000,
            "main": {
                "temp": 289.43,
                "feels_like": 287.76,
                "temp_min": 288.6,
                "temp_max": 289.43,
                "pressure": 1000,
                "sea_level": 1000,
                "grnd_level": 996,
                "humidity": 81,
                "temp_kf": 0.83
            },
            "weather": [
                {
                    "id": 500,
                    "main": "Rain",
                    "description": "light rain",
                    "icon": "10n"
                }
            ],
            "clouds": {
                "all": 100
            },
            "wind": {
                "speed": 3.72,
                "deg": 193
            },
            "rain": {
                "3h": 2.26
            },
            "sys": {
                "pod": "n"
            },
            "dt_txt": "2020-03-19 15:00:00"
        }
    ],
    "city": {
        "name": "Haramachi",
        "coord": {
            "lat": 35.6163,
            "lon": 139.6947
        },
        "country": "JP",
        "timezone": 32400,
        "sunrise": 1584564385,
        "sunset": 1584607895
    }
}

まずはこれを一度変数に入れます。仮にHTTPリクエストで取得したのであれば、以下の様な書き方をして、resultという変数に入れます。

取得するための書き方

variables('result')['list'][0]['weather'][0]['main']

次に変数定義を再度おないます。その時式を記述します。これで値を無事取得することが可能です。

ABOUT ME
hirayuki
今年で社会人3年目になります。 日々体当たりで仕事を覚えています。 テーマはIT・教育です。 少しでも技術に親しんでもらえるよう、noteで4コマ漫画も書いています。 https://note.mu/hirayuki