ruby json api reddit

Ruby-iterar sobre JSON analizado



api reddit (1)

Estás intentando iterar sobre los data , que es un hash, no una lista. Necesita obtener la matriz de los hijos de su objeto JSON por 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

Estoy intentando repetir una respuesta JSON analizada desde la API de reddit.

He hecho un poco de googlear y parece que otros han tenido este problema, pero ninguna de las soluciones parece funcionar para mí. Ruby está tratando a [''data] ['' children] como índices y eso está causando el error, pero solo estoy tratando de tomar estos valores del JSON. ¿Algún consejo?

Mi código:

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

El mensaje de error que recibo en la terminal:

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>''