2011-09-28 81 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

乾杯,我會給它一個 –