我正在尝试从哈希解码JSON,但我找不到办法。我用过这段代码:
@summoner = 'https://prod.api.pvp.net/api/lol/na/v1.3/summoner/by-name/TurtleTown?api_key=xxxxxxxxxxxxx'
@summoner = ActiveSupport::JSON.decode(@summoner)
但@summoner
是包含JSON的网址。如何从网址获取JSON格式?
答案 0 :(得分:1)
一些需要的库是:
require 'net/http'
require 'json'
您需要安装json
gem。有关详细信息,请查看here
首先对给定的url执行get请求。然后解码请求响应:
#convert your link to URI object understandable by Net:HTTP library
uri = URI('https://prod.api.pvp.net/api/lol/na/v1.3/summoner/by-name/TurtleTown?api_key=xxxxxxxxxxxxx')
#perform actual GET request to given uri
response = Net::HTTP.get_response(uri)
#convert JSON response into hash if request was successful
data = JSON.parse(response) if response.is_a?(Net::HTTPSuccess)
答案 1 :(得分:0)
@summoner变量中包含的是一个字符串,您需要使用某些东西来实际发出请求(除非您省略了该代码)。类似于Net::HTTP。