使用Ruby从URL获取JSON,抛出TypeError和';无法打开TCP连接';
背景 我有一个Ruby终端应用程序,它生成一个URL,然后从该URL获取JSON 手动跟随链接()显示一个JSON对象,但程序抛出两个错误使用Ruby从URL获取JSON,抛出TypeError和';无法打开TCP连接';,json,ruby,terminal,Json,Ruby,Terminal,背景 我有一个Ruby终端应用程序,它生成一个URL,然后从该URL获取JSON 手动跟随链接()显示一个JSON对象,但程序抛出两个错误 (没有将数组隐式转换为字符串)(TypeError) 无法打开到[{“kind”=>“books#volume”,“id”=>“2sSMCwAAQBAJ”,“etag”=>“vAZ9LJGLnng”,“selfLink”=>“,“volumeInfo”=>{“title”=>“哈利波特与诅咒的孩子-第一部分和第二部分(特别排练版)”,“authors”=>[
response = Net::HTTP.get_response(link,"")
puts response.body -- error is thrown on line above, so this is commented out
注意:本例中的“链接”是我给出的第一个链接
问题
如何更正给定的错误,以便我的应用程序获得JSON对象?要获得响应,请尝试以下操作:
require 'json'
require 'net/http'
url = 'https://www.googleapis.com/books/v1/volumes?q=Harry+Potter'
# get JSON as String
json = Net::HTTP.get(URI.parse(url))
# get Hash from JSON
hash = JSON.parse(json)
问题在于URI解析
您还可以通过以下方式执行此操作:
Net::HTTP.get_response(URI.parse(url)).body
我想已经完成了。这只是一个没有解析结果的问题吗?是的。解析是个问题。我在答案中添加了信息。如果它对您有帮助,您可以检查它。