【发布时间】:2013-09-18 16:56:10
【问题描述】:
我正在尝试编写一个简单的程序来从 API 调用的结果中解析 JSON。对 ruby 非常陌生,只是无法弄清楚这一点。
所有代码如下:
require "rubygems"
require "json"
require "net/http"
require "uri"
uri = URI.parse("http://api.chartbeat.com/live/recent/v3/?apikey=eaafffb9a735796b6edd50fd31eaab69&host=enactus.org")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
if response.code == "200"
result = JSON.parse(response.body)
result.each do |doc|
puts doc["id"] #reference properties like this
puts doc # this is the result in object form
puts ""
puts ""
end
else
puts "ERROR!!!"
end
这是运行程序的输出(chartbeat.rb):
chartbeat.rb:14: syntax error, unexpected end-of-input, expecting keyword_end
程序从这里逐字逐句替换了 url:https://gist.github.com/timsavery/1657351
【问题讨论】:
-
你上面的代码对我来说很好
-
您不应在此处发布您的 API 密钥。它也适用于我(复制并粘贴到 irb)
-
是时候重置 API 密钥了 :)
-
尝试删除你的`result.each do |doc|`块,看看你得到了什么。
-
想通了:我已经进行了@MichaelDurrant 建议的编辑,但忘记将程序恢复到原始状态。在正确的位置按原样运行它可以正常工作。谢谢大家。我是n00b。