【发布时间】:2014-09-17 15:54:47
【问题描述】:
我正在尝试使用 Twitter API 列出热门话题。在调用我的函数并分配给“X”(然后打印“X”)后,我返回(以 JSON 格式解析)如下所示:
puts X
{"trends"=>[{"name"=>"blah blah", "query" =>"blah blah" and a bunch more info...
{"name"=>"blah2 blah2", "query"=>"blah blah" and a bunch more...
{"name"=>"blah3 blah3", and so on and so forth.}]}
我可以通过调用更接近我想要的输出
X.each do |T|
puts T["trends"]
end
我可以让它像这样打印每一行:
{"name"=>"blah blah", "query" =>"blah blah" and a bunch more information
{"name"=>"blah2 blah2", "query"=>"blah blah" and a bunch more...
{"name"=>"blah3 blah3", and so on and so forth.}
如何让我的代码仅打印热门主题的名称?我在想这将是类似于
X.each do |T|
puts T["trends"]["name"]
end
但这不起作用。我怎样才能让它只显示
blah blah
blah2 blah2
blah3 blah3
根据迭戈 当我调用以下命令时,我得到了从字符串到整数的无转换错误。
X["trends"].each do |T|
puts T["name"]
end
当我调用 X.inspect 时,我只会得到我放在问题顶部的内容,并在趋势周围添加了一组 []。
[{"trends"=>[{"name"=>"blah blah", "query" =>"blah blah" and a bunch more info...
{"name"=>"blah2 blah2", "query"=>"blah blah" and a bunch more...
{"name"=>"blah3 blah3", and so on and so forth.}]}]
我想通了。
X.each do |trend|
trend["trends"].each do |topic|
puts topic["name"]
end
end
【问题讨论】:
-
你能发布你检查该块内的 T 变量时得到的结果吗?试试
puts T.inspect -
嗯...实际上似乎我得到的输出与打印 X 相同。在 X 上调用检查似乎会在所有内容周围添加一个 [] 括号,但简单地打印 X 会得到与调用 T.inspect
-
我想通了,并为我的问题添加了答案。感谢迭戈的帮助。我试图支持你,但它说我的声誉太低了。不过,我将您标记为正确答案,因为它确实让我弄清楚了。
-
好了,我给了你几票。快乐的堆栈溢出:)