将数据从api请求保存到db(JSON)

时间:2015-04-29 10:21:33

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

我通过第三方从我的铁路应用程序发送消息并跟踪交付详细信息并将其存储在我的数据库表中。在发送消息后,第三方帖子将详细信息发送到我的给定URL,我得到了对我的URL的响应。

http://yourdomain.com/dlr/pushUrl.php?data=%7B%22requestId%22%3A%22546b384ce51f469a2e8b4567%22%2C%22numbers%22%3A%7B%22911234567890%22%3A%7B%22date%22%3A%222014-11-18+17%3A45%3A59%22%2C%22status%22%3A1%2C%22desc%22%3A%22DELIVERED%22%7D%7D%7D 

喜欢以下格式,

data={

  "requestId":"546b384ce51f469a2e8b4567",

  "numbers":{

    "911234567890":{

      "date":"2014-11-18 17:45:59",

      "status":1,

      "desc":"DELIVERED"

}}}

我在控制器中使用以下代码来显示数据。

json = params["data"]["numbers"]
puts json

但它显示为NULL。现在我想将数据保存到数据库中。是否有任何Gem可供使用或任何其他方法都是好的。对于ROR来说是新手。

1 个答案:

答案 0 :(得分:3)

您的问题是params["data"]是一个字符串,但您将其视为哈希。

data = JSON.parse(params["data"])
puts data['numbers']