Обработать ответ json в ruby

#json #ruby

#json #ruby

Вопрос:

Я пытаюсь использовать данные из API. Вот код, который у меня есть, который в настоящее время работает:

 ...connection info here
webinars = response.parsed_response["webinars"]

webinars.each do |w|
    puts w
end
  

Это возвращает мне массив, подобный:

{"uuid"=>"2342342==", "id"=>285433, "host_id"=>"3423",
"topic"=>"Requirement Changes", "agenda"=>"", "status"=>0,
"option_start_type"=>"video", "option_host_video"=>true, "option_panelist_video"=>true,
"option_audio"=>"both", "option_enforce_login"=>false, "type"=>5,
"start_time"=>"2016-10-24T14:00:00Z", "duration"=>90, "timezone"=>"America/New_York",
"start_url"=>"blah.com",
"join_url"=>"blam.com", "created_at"=>"2016-09-22T13:31:09Z"},
{"uuid"=>"2342343==", "id"=>285434, "host_id"=>"3423",
"topic"=>"Requirement Changes", "agenda"=>"", "status"=>0,
"option_start_type"=>"video", "option_host_video"=>true, "option_panelist_video"=>true,
"option_audio"=>"both", "option_enforce_login"=>false, "type"=>5,
"start_time"=>"2016-10-24T14:00:00Z", "duration"=>90, "timezone"=>"America/New_York",
"start_url"=>"blah.com",
"join_url"=>"blam.com", "created_at"=>"2016-09-22T13:31:09Z"}

Я хотел бы получить доступ к каждому из атрибутов на каждом вебинаре, например…

 webinars = response.parsed_response["webinars"]

webinars.each do |w|
    puts w.id
end
  

Как я должен это обрабатывать, чтобы я мог вызывать подобные атрибуты?

Ответ №1:

Вы можете просто сделать w["id"] вместо w.id

Если бы ваша карта состояла из {uuid: "2342342==", id: 285433, host_id: "3423"} вы могли бы вызвать w.id ее.