Разбор JSON с помощью [] - PullRequest
0 голосов
/ 25 июня 2019

У меня проблемы с доступом к частям json, который выглядит следующим образом. Вещь, которую я ищу, это тип осадка.

{
        "latitude": 42.3601,
        "daily": {
          "data": [
            {
              "time": 255589200,
              "icon": "snow",
              "sunriseTime": 255613996,
              "sunsetTime": 255650764,
              "moonPhase": 0.97,
              "precipIntensity": 0.0354,
              "precipIntensityMax": 0.1731,
              "precipIntensityMaxTime": 255657600,
              "precipProbability": 1,
              "precipAccumulation": 7.337,
              "precipType": "snow",
              "temperatureHigh": 31.84,
            }
          ]
        },
        "offset": -5
      }

Пока я пробовал

response['daily']['data']['precipType']

а также это (хотя я не ожидал, что это сработает, это была просто попытка)

response['daily']['data.precipType']

1 Ответ

3 голосов
/ 25 июня 2019

Поскольку данные - это массив, вам нужно получить доступ к элементам внутри массива по индексу.

puts response["daily"]["data"][0]["precipType"]

Для первого элемента в массиве.

Или перебрать все элементы в массиве, например, так:

response["daily"]["data"].each do |item|
  puts item["precipType"]
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...