我是Ruby新手,我在使用哈希时遇到了一些问题。
我有从YouTube API返回的XML,我将其转换为散列。下面是hash .from_xml()返回的哈希值:http://pastebin.com/9xxE6iXU
我试图从每个结果的哈希中抓取特定元素,例如标题,链接,作者等。每当我尝试遍历散列或获取特定元素时,我都会收到"can't convert String into Integer"错误。
下面是我用于循环的代码:
@data["feed"]["entry"]["title"].each do |key, value|
"<p>"+key+" "+value+"</p>"
end
我也试过抓取特定的元素,比如@data["feed"]["entry"]["title"][0]。
如何循环遍历哈希并获取特定的元素?
这是因为@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..."
....