【发布时间】:2015-07-08 15:36:05
【问题描述】:
我正在使用这样的 API:
控制器:
@bounces = SendgridToolkit::Bounces.new(API_USERNAME, API_PASSWORD)
查看:
返回的数据如下:(对于 JSON,虽然 XML 调用也是可能的)
[{"status"=>"550", "created"=>2015-07-06 18:37:38 UTC, "reason"=>"550 Unrouteable address ", "email"=>"jake@fake.com"}]
它对我很有用,但不幸的是,这不是我想要在我的 Rails 应用程序中呈现它的方式。转换此数据的最佳方法是什么,因为我无法访问格式不佳的字符串本身,只能访问从我正在与之交互的应用程序请求它的代码?
我遇到了一些问题,想向 Google 提出正确的问题,如果您根据经验提供任何建议,我将不胜感激。
提前感谢您的帮助!
编辑:
例如,无论我把它放在哪里(视图或控制器),这都会返回一个错误,说字符串是一个未定义的方法:
string = '[{"status":"550","reason":"550 Unrouteable address ","email":"jake@fake.com"}]'
@showbounces = @bounces.retrieve.to_json JSON.parse(string)
@newsletters = Newsletter.all
返回:
no implicit conversion of Symbol into Integer:
@showbounces = @bounces.retrieve.to_json JSON.parse(string)
最终,我想从 JSON/XML 中提取选择信息,并将其用于我认为可以使用 CSS 和 HTML 格式化的图形之类的东西。
【问题讨论】:
-
好的,得到的问题多于答案。首先,你在哪里调用 API?我假设
retrieve_with_timestamps拨打电话?现在,你怎么知道返回的是一个实际的字符串而不是一个哈希数组?您的编辑部分也是一个谜 - 如果您定义了字符串变量,为什么您希望它能够工作? -
@BroiStatse 抱歉,我对在 Rails 中使用 API 完全陌生,事实上,在整个 Rails 中。我编辑了问题以显示我现在放在那里的内容。我虽然
string已经在 Ruby 中定义(因此为什么.to_s有效),我想我发现的资源的措辞让我有点困惑。我很抱歉。
标签: ruby-on-rails json xml formatting