Ruby on rails 如何解析API响应和服

Ruby on rails 如何解析API响应和服,ruby-on-rails,json,api,ruby-on-rails-4,Ruby On Rails,Json,Api,Ruby On Rails 4,我正在学习使用API,并从Kimonify从Amazon提取一些页面数据开始。在视图中,数据通过@response变量传递 我如何解析它并只显示作者名和排名,即#22 class HomeController < ApplicationController def index require 'rubygems' require 'json' require 'rest_client' @response = RestClient.get 'https://w

我正在学习使用API,并从Kimonify从Amazon提取一些页面数据开始。在视图中,数据通过
@response
变量传递

我如何解析它并只显示
作者名
排名
,即
#22

class HomeController < ApplicationController
  def index
   require 'rubygems'
   require 'json'
   require 'rest_client'

   @response = RestClient.get 'https://www.kimonolabs.com/api/83x1k5ua?apikey=Gsj16resq87I8wRiaVjOrtzrs0WbAhZr'

 end
end
class HomeController
index.html.erb

<h1>Home#index</h1>
<p>Find me in app/views/home/index.html.erb</p>
<p> <%= @response %> </p>

{ "name": "Tim Weed Sales Rank Colonial", 
  "count": 1, 
  "frequency": 
  "Every 15 mins", 
  "version": 11, 
  "newdata": true, 
  "lastrunstatus": "success", 
  "lastsuccess": "Tue Dec 23 2014 17:28:30 GMT+0000 (UTC)",
  "thisversionstatus": "success", 
  "nextrun": "Tue Dec 23 2014 17:43:30 GMT+0000 (UTC)", 
  "results": { "Tim Weed Sales Rank Colonial": [ { "Title": "Will Poole's Island [Kindle Edition]", 
               "Colonial Historical Fiction Rank": "#22" } ] 
             } 
  }
Home#索引
在app/views/home/index.html.erb中查找我

<h1>Home#index</h1>
<p>Find me in app/views/home/index.html.erb</p>
<p> <%= @response %> </p>

{ "name": "Tim Weed Sales Rank Colonial", 
  "count": 1, 
  "frequency": 
  "Every 15 mins", 
  "version": 11, 
  "newdata": true, 
  "lastrunstatus": "success", 
  "lastsuccess": "Tue Dec 23 2014 17:28:30 GMT+0000 (UTC)",
  "thisversionstatus": "success", 
  "nextrun": "Tue Dec 23 2014 17:43:30 GMT+0000 (UTC)", 
  "results": { "Tim Weed Sales Rank Colonial": [ { "Title": "Will Poole's Island [Kindle Edition]", 
               "Colonial Historical Fiction Rank": "#22" } ] 
             } 
  }

{“姓名”:“Tim Weed Sales Rank Colonial”, “计数”:1, “频率”: “每15分钟”, “版本”:11, “新数据”:没错, “lastrunstatus”:“成功”, “lastsuccess”:“2014年12月23日星期二17:28:30 GMT+0000(UTC)”, “thisversionstatus”:“成功”, “nextrun”:“2014年12月23日星期二17:43:30 GMT+0000(UTC)”, “结果”{“Tim Weed Sales Rank Colonial”:[{“标题”:“Will Poole’s Island[Kindle Edition]”, “殖民历史小说排行榜”:“#22”}] } }
找到了有关解析JSON响应的文章的最新链接

更新如下

response = RestClient.get 'https://www.kimonolabs.com/api/83x1k5ua?apikey=Gsj16resq87I8wRiaVjOrtzrs0WbAhZr'
获取响应并使用下面的行解析它。然后将解析后的JSON存储在@JSON变量中,如下所示

@json = JSON.parse(response)
为了在我的视图中显示这一点,我使用了下面的代码。Kimonify将这些项目分为结果、集合和属性等

<p> <%= @json["results"]["collection1"][0]["property1"]["href"] %> </p>


看起来您正在恢复JSON。如果您需要了解如何解析JSON,请参阅本文。谢谢@NickM。这篇文章也很有帮助。