当前位置: 首页 > 面试题库 >

Ruby-遍历解析的JSON

公胤运
2023-03-14
问题内容

我正在尝试从reddit的API迭代解析的JSON响应。

我已经进行了一些谷歌搜索,似乎其他人也遇到了这个问题,但是似乎没有一种解决方案适合我。Ruby将[‘data]
[‘children]视为索引,这会导致错误,但是我只是想从JSON中获取这些值。有什么建议吗?

我的代码:

require "net/http"
require "uri"
require "json"

uri = URI.parse("http://www.reddit.com/user/brain_poop/comments/.json")

response = Net::HTTP.get_response(uri)

data = JSON.parse(response.body)

data.each do |child|
    print child['data']['body']
end

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

api-reddit-ruby.rb:12:in `[]': no implicit conversion of String into Integer (TypeError)
from api-reddit-ruby.rb:12:in `block in <main>'
from api-reddit-ruby.rb:11:in `each'
from api-reddit-ruby.rb:11:in `<main>'

问题答案:

您正在尝试遍历data,这是一个哈希,而不是一个列表。您需要通过以下方式从JSON对象中获取children数组:data['data']['children']

require "net/http"
require "uri"
require "json"

uri = URI.parse("http://www.reddit.com/user/brain_poop/comments/.json")

response = Net::HTTP.get_response(uri)

data = JSON.parse(response.body)


data['data']['children'].each do |child|
    puts child['data']['body']
end


 类似资料:
  • <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge">

  • 问题内容: 我在使用jQuery / Ajax / JSON时遇到问题。我正在使用像这样的jQuery ajax帖子… 据我了解,这将返回一个JavaScript JSON对象?Ajax发布产生的文本是这样的(我相信这是有效的JSON)… 我似乎无法弄清楚如何解析jQuery ajax帖子返回的JSON对象…基本上,我想循环遍历并像这样返回每个学生组成一个div … 我似乎无法弄清楚该怎么做… 谢

  • 如何解析一个HTML文档: String html = "<html><head><title>First parse</title></head>" + "<body><p>Parsed HTML into a doc.</p></body></html>"; Document doc = Jsoup.parse(html); (更详细内容可查看 解析一个HTML字符串.) 其解析器能够尽

  • 本文向大家介绍jQuery遍历json的方法分析,包括了jQuery遍历json的方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了jQuery遍历json的方法。分享给大家供大家参考,具体如下: ajax请求: 返回的内容在success的函数里面,所有的遍历操作都是在这里面操作的: for循环: for in 循环: 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQ

  • 问题内容: 我有一个Ruby代码块,如下所示: 这样会产生多种回报: 我想遍历它并提取各种元素。我努力了 错误是: 解决这些难题的最佳方法是什么? 问题答案: 我有解决方案,希望对您有所帮助。我花了数小时的摆弄和实验。这里是: 重要的事情似乎是将elasticsearch结果转换为红宝石友好的东西。

  • 本文向大家介绍golang遍历时修改被遍历对象的示例详解,包括了golang遍历时修改被遍历对象的示例详解的使用技巧和注意事项,需要的朋友参考一下 前言 很多时候需要将遍历对象中去掉某些元素,或者往遍历对象中添加元素,这时候就需要小心操作了。 对于go语言中的一些注意事项我做了总结和示例,留下点笔记。 遍历切片 1.遍历切片时去掉元素,错误示例: 最终报错panic: runtime error: