我是Ruby的新手,我在使用哈希时遇到了一些问题。
我从YouTube API返回了我转换为哈希的XML。这是Hash.from_xml()返回的哈希:http://pastebin.com/9xxE6iXU
我试图从每个结果的哈希中获取特定元素,例如标题,链接,作者等。每当我尝试循环哈希或抓取特定元素时,我收到“无法转换String into Integer“错误。
以下是我用于循环的代码:
@data["feed"]["entry"]["title"].each do |key, value|
"<p>"+key+" "+value+"</p>"
end
我也尝试抓取特定元素,例如@data [“feed”] [“entry”] [“title”] [0]。
如何遍历哈希并抓取特定元素?
答案 0 :(得分:5)
这种情况正在发生,因为@data["feed"]["entry"]
是哈希数组:
puts @data["feed"]["entry"].class # => Array
此数组中的每个元素哈希都有“id”,“category”,“title”等值。
要获取每个标题,请尝试使用以下代码段:
@data["feed"]["entry"].each do |entry|
puts entry["title"]
end
# => "TABE test adult basic education"
"WhatCollegesHopeYouWon'tFindOutAboutACTSATTestPrep..."
....