Ruby-在解析的JSON上迭代

我正在尝试迭代来自reddit的API的已解析JSON响应

我做了一些谷歌搜索,似乎其他人也有这个问题,但似乎没有一个解决方案适合我。Ruby将[‘data][‘children]作为索引处理,这导致了错误,但我只是试图从JSON中获取这些值。有什么建议吗

我的代码:

需要“net/http”
需要“uri”
需要“json”
uri=uri.parse(“http://www.reddit.com/user/brain_poop/comments/.json")
response=Net::HTTP.get\u响应(uri)
data=JSON.parse(response.body)
数据。每个do |子项|
打印子项['data']['body']
终止

我在终端中收到的错误消息:

api reddit ruby.rb:12:in`[]’:未将字符串隐式转换为整数(TypeError)
来自api reddit ruby.rb:12:in`block in<主>’
来自api reddit ruby.rb:11:in’each’
来自api reddit ruby.rb:11:in`<主>’

您试图迭代数据,这是一个散列,而不是列表。您需要通过data['data']['children']

需要“net/http”
需要“uri”
需要“json”
uri=uri.parse(“http://www.reddit.com/user/brain_poop/comments/.json")
response=Net::HTTP.get\u响应(uri)
data=JSON.parse(response.body)
数据['data']['children'],每个都有|子|
放置子项['data']['body']
终止

发表评论