Rails可以做一些与PHP的json_decode相同的东西(如本例所示)

时间:2011-03-19 04:55:15

标签: ruby-on-rails json api

我一直在尝试解析从API调用返回的JSON数据。我偶然发现this example展示了如何在PHP中使用RottenTomatoes API。 Rails中是否有类似的功能将这些数据“映射”到“对象”中?使这种事情成为可能:

@movies.each do |movie|
  puts movie.title
end

Here is an example数据返回我期待

2 个答案:

答案 0 :(得分:4)

ActiveSupport :: JSON有一个解码方法:

ActiveSupport::JSON.decode(json_string)

在这里查看一篇很好的文章:

http://www.simonecarletti.com/blog/2010/04/inside-ruby-on-rails-serializing-ruby-objects-with-json/

对于你的例子:

data = ActiveSupport::JSON.decode(json_string)
data["movies"].each{|m| puts m}

仅作为一个例子。

答案 1 :(得分:0)

你试过Crack吗?

http://railstips.org/blog/archives/2009/04/01/crack-the-easiest-way-to-parse-xml-and-json/

require 'httparty'
require 'crack'

response = HTTParty::get("http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=XXX")
@movies = Crack::JSON.parse(response.body)