Rails обращаются к ключам в хешах из данных JSON - PullRequest
3 голосов
/ 22 февраля 2012

У меня есть хеш от объекта JSON. Это выглядит так:

JSON = {"kind" => "calendar # freeBusy", "timeMin" => "2012-02-19T19: 35: 00.000Z", "timeMax" => "2012-02-19T19: 40: 00.000 Z "," calendars "=> {" av3ddlgc54qe4brii4r7pius6k@group.calendar.google.com "=> {" busy "=> [{" start "=>" 2012-02-19T19: 35: 00Z "," конец " => "2012-02-19T19: 40: 00Z"}]}}}

Я хочу проверить, есть ли дети занятых (ребенок календарей).

Я могу получить доступ к дочерним элементам календарей по JSON ["calendars"]

Возвращает:

{"av3ddlgc54qe4brii4r7pius6k@group.calendar.google.com" => {"busy" => [{"start" => "2012-02-19T19: 35: 00Z", "end" => "2012- 02-19T19: 40: 00Z "}]}}

но JSON ["calendars"] ["busy"] (как, я думаю, вы должны получить доступ к дочерним элементам?), Возвращает nil.

Как мне попасть внутрь "занятого" ребенка?

Я создал хеш, используя JSON.parse для запроса Фарадея.

1 Ответ

6 голосов
/ 22 февраля 2012

"занято" вложено в "av3ddlgc54qe4brii4r7pius6k@group.calendar.google.com" в вашем случае, поэтому вам необходимо включить это также: JSON ["calendars"] ["av3ddlgc54qe4brii4r7pius6k@group.calendar.google.com "] [" busy "]. Если вы хотите получить доступ к этому атрибуту для всех календарей, вам придется выполнить цикл:

JSON["calendars"].each do |key, value|
  # working with value["busy"]...
end
...