【发布时间】:2015-04-27 14:42:29
【问题描述】:
我想从上面的 URL 中获取响应数据并将值存储在数据库中。
网址:
`http://xxxx.com/delivery_reports?data=%7B%22requestId%22%3A%22546b384ce51f469a2e8b4567%22%2C%22numbers%22%3A%7B%22917566559950%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`
控制器:
def create
@delivery_report = DeliveryReport.new(delivery_report_params)
@response = HTTParty.get('http://xxxx.com/delivery_reports')
hash = JSON.parse @response
puts hash
respond_to do |format|
if @delivery_report.save
format.html { redirect_to @delivery_report, notice: 'Delivery report was successfully created.' }
format.json { render :show, status: :created, location: @delivery_report }
else
format.html { render :new }
end
end
end
它显示 JSON::ParserError (757: unexpected token at ' 错误。
【问题讨论】:
-
是不是说第 757 行有语法错误?
-
要检查的东西很愚蠢,但是您可以使用
delivery_reports.json而不是仅使用delivery_reports吗?我认为您正在尝试将 HTML 解析为 JSON(除非应用程序正在动态检查请求标头)。 -
您应该使用密码保护该网址并将其隐藏在公众视野之外。
标签: ruby-on-rails api ruby-on-rails-4 get httparty