从URL中将JSON数据保存到数据库Rails

时间:2015-05-27 02:04:41

标签: ruby-on-rails json ruby-on-rails-4

我有一个提供的网址,每30分钟更新一次数据,并想知道我是否可以在更新时将数据保存到我的数据库中?我使用的是Rails 4.2.0。

共有10个网址,每个网址都有不同的单元号,需要参考才能为每个单元调用每个数据。

网址结构

http://sitename/cgi-bin/site=1

JSON结构

{"status"=>"ok", "data"=>[{"2014-08-11 11:00:00"=>14.9},{"2014-08-11 11:30:00"=>15.1}]}

2 个答案:

答案 0 :(得分:2)

通过json响应,可以使用以下内容完成:

json = JSON.parse('{"status"=>"ok", "data"=>[{"2014-08-11 11:00:00"=>14.9},{"2014-08-11 11:30:00"=>15.1}]}') #string representing your json

json['data'].each do |element|
  element.each do |key, value|
    Model.create(date: key, number: value) # This Model is the name of your model
  end
end

如果你让我建议你,你可以发送json作为:

{"status"=>"ok", "data"=>[{"date" => "2014-08-11 11:00:00", "number" =>14.9},{...}]}

因此,您可以访问以下数据:element['date']element['number']

答案 1 :(得分:0)

我认为你应该去做一些非凡的工作。请参阅此Whenever gem,它为编写和部署cron作业提供了清晰的语法,您可以每隔30分钟将数据保存到数据库中。