Rails 从 JSON 数据中访问散列中的键
Posted
技术标签:
【中文标题】Rails 从 JSON 数据中访问散列中的键【英文标题】:Rails accessing keys in hashes from JSON data 【发布时间】:2012-02-22 13:12:04 【问题描述】:我有一个来自 JSON 对象的哈希。它看起来像这样:
JSON = "kind"=>"calendar#freeBusy", "timeMin"=>"2012-02-19T19:35:00.000Z", "timeMax"=>"2012-02-19T19:40:00.000 Z", "日历"=>"av3ddlgc54qe4brii4r7pius6k@group.calendar.google.com"=>"忙"=>["start"=>"2012-02-19T19:35:00Z", "end" =>“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】:“busy”在您的情况下嵌套在“av3ddlgc54qe4brii4r7pius6k@group.calendar.google.com”下,因此您还需要包含以下内容: JSON["calendars"]["av3ddlgc54qe4brii4r7pius6k@group.calendar.google.com "]["busy"]。如果你想访问所有日历的这个属性,你必须循环:
JSON["calendars"].each do |key, value|
# working with value["busy"]...
end
【讨论】:
以上是关于Rails 从 JSON 数据中访问散列中的键的主要内容,如果未能解决你的问题,请参考以下文章
如何从我的 Ruby on Rails API 解析这些散列转换为字符串,以便它可以作为 Javascript 中的对象进行访问?