如何让json响应回到rails app json.parse意外令牌

时间:2014-04-04 15:14:22

标签: ruby-on-rails ruby json

我正在尝试使用我的rails应用程序与api进行交互

http://api.placemeter.net/api/shake/line/?start=-120&end=0

这会返回这样的响应

{"average_line_wait_secs": [0, 0, 0], "end": 1396624139, "timestamps": [1396623960, 1396624020, 1396624080], "average_line_length": [0, 0, 0], "start": 1396623960}

我想在我的rails应用程序中抓取这个json数据。

class HomeController < ApplicationController

  def index
    @shakeline = JSON.parse('http://api.placemeter.net/api/shake/line/?start=-120&end=0')
  end 

end

我认为JSON.parse应该帮助我解决这个问题。

这是我的错误

757: unexpected token at 'http://api.placemeter.net/api/shake/line/?start=-120&end=0'

最终我希望json响应是一个ruby数据结构,我将用它构建一些东西。

1 个答案:

答案 0 :(得分:1)

如下所示

class HomeController < ApplicationController
  def index
    require 'open-uri'
    JSON.parse(open('http://api.placemeter.net/api/shake/line/?start=-120&end=0').read))
  end 
end

查看此OpenURI文档。