2011-09-28 48 views
2

我知道这已被覆盖了一遍又一遍,但我无法理解如何开始。太多的JSON处女知道发生了什么事。用Ruby on Rails解析JSON提要

我想从远程服务器上的JSON订阅源获取一些数据到一个rails3应用程序。

我知道我需要json gem,但我不知道如何提取数据。

如果URL是这样的:

http://my-feed.com/json?res=service&s=table&table=User&start=0&max=5&sort=id&desc=true

我如何去获得,从我的应用程序?

任何帮助,穿行测试,教程赞赏

回答

3

你将需要为资源的HTTP请求,抢响应,以及(潜在的)解析它自己 - 虽然我认为HTTParty会为你做JSON解析。尽管如此,HTTParty将是我提出请求的建议。

如果您阅读自述文件,它链接到examples of how to use HTTParty,您应该会发现它很有帮助。基本的例子包括如何进行获取请求,检查标题和正文等。我相信你也可以使用response.parsed_response来获得任何HTTParty默认解析器的解析响应。还有一个使用自己的自定义分析器的例子(如果你更喜欢另一个使用HTTParty的话)。

+1

谢谢,我喜欢HTTparty的想法,我喜欢派对,所以我会看看! –

+0

这是完美的工作。你能建议我如何设计输出风格吗?现在,这只是一堆垃圾。 Jz –

+0

这取决于你的输出,你应该可以在网上找到大量的CSS教程。如果你正在寻找一种在样式化之前输出的方式,我建议阅读[haml教程](http://haml-lang.com/tutorial.html) - 我发现它比ERB更具可读性。只需构建一些HTML并使用CSS来设计它! –

3

我真的不知道json的宝石 - 它只能处理解析?

如果是的话,你只需要在信息拉,试试这个:

require 'open-uri' 

begin 
    json = open 'http://my-feed.com/json?res=service&s=table&table=User&start=0&max=5&sort=id&desc=true' 
rescue 
    # a multitude of HTTP-related errors can occur 
end 

json_string = json.read 
# parse 
+0

干杯,我会给它一个 –