如何在Rails 4中使用API​​调用返回的JSON数据

时间:2014-10-31 02:59:14

标签: ruby-on-rails json

我正在调用外部API并在JSON中获取以下响应数据。

{
  "count": 1,
  "styles": [
    {
      "vehicle_id": "400882961",
      "style": "AWD Titanium 4dr Sedan"
    }
  ]
}

我想知道如何在我的视图中使用数据。我使用@details来表示我的数据。如果我将@details.inspect放在我的视图中,我会在此处为您提供数据。

我希望能够将vehicle_id和样式信息放在我的视野中。

对Rails来说是全新的,所以我很少迷路。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您需要做的第一件事就是解析JSON。从1.9 +开始,此功能是Ruby语言的一部分:

@api_response = JSON.parse(data)

这会将原始JSON(字符串)转换为可查询的Ruby数据结构(哈希)。接下来,您在哈希中查找项目。请注意,styles是一个数组,因此可能会返回多个vehicle_id

以下是一些如何在模板中使用它的示例:

<%= @api_response["styles"].first["vehicle_id"] %>

或者,如果您想迭代所有样式:

<% @api_response["styles"].each do |h| %>
  <%= h["vehicle_id"] %>: <%= h["style"] %>
<% end %>

您可以阅读有关Ruby哈希in the Ruby docs的更多信息。