Rails从api GET请求中显示JSON

时间:2013-10-16 05:33:55

标签: ruby-on-rails httparty

我是一个rails初学者,我正在尝试显示一个从外部API返回的json对象。我正在使用HTTParty而且我几乎肯定我已经正确设置了。我的HTTParty类中有一个名为

的函数
self.get_all()

我如何创建一个新页面来显示我从该函数返回的JSON?

1 个答案:

答案 0 :(得分:1)

这完全取决于回来的json。除了它是'JSON`,它看起来像什么?如果你还没有检查它,也许这是一个好的起点。您可以这样调用您的方法:(选择一个)

puts your_httparty_class.get_all.inpsect # will be displayed in your logs (most likely)
raise your_httparty_class.get_all.inspect # will raise the response to the view

您可能会发现自己需要做这样的事情以确保它是哈希值。

response = HTTParty.get('https://api.somesite.com/some_endpoint')
body = JSON.parse(response.body)

现在您已经知道并且可以看到JSON只是一个哈希,您可以像这样访问它:

something = body[:something] # accessing a hash
nested_something = body[:something][:nested_something] # accessing a nested hash

然后,您可以在应用中移动somethingnested_something。因此,您可以将它作为实例变量从控制器传递到视图:

# @ makes it an instance variable and therefore accessible to your controller's views
@something = body[:something]
@nested_something = body[:something][:nested_something]