【问题标题】:Save data from api request to db (JSON)将 api 请求中的数据保存到 db (JSON)
【发布时间】:2015-04-29 10:21:32
【问题描述】:

我通过第三方从我的铁路应用程序发送消息并跟踪交付详细信息并将其存储在我的数据库表中。在第三方发送消息后将交付详细信息发送到我给定的 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 的新手。

【问题讨论】:

  • 我理解正确吗? params['data'] 返回你写的内容,params['data']['numbers'] 返回 NIL?
  • params['data'] 和 params['data']['numbers'] 都只返回 NIL。
  • 现在抛出“没有将 nil 隐式转换为字符串”错误

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


【解决方案1】:

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

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

【讨论】:

  • 它的工作正常。现在如何在我的表中保存 requestId、数字、日期、desc。?怎么读?
  • 当我的 URL 被响应时如何将数据自动保存到数据库。
猜你喜欢
  • 1970-01-01
  • 2016-10-04
  • 2018-04-17
  • 1970-01-01
  • 1970-01-01
  • 2017-09-02
  • 2021-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多