2015-07-11 48 views
0

我正在做一個GET請求,並得到這樣的響應:轉換HTTP響應JSON在Ruby中

"oauth_token=USYS96A708CACBDA9C74322DAB41A53CA_idses-int02.a.fsglobal.net&oauth_token_secret=09c8b05b874fac29b4e542c388cb3f&oauth_callback_confirmed=true" 

我怎樣才能將它轉換爲JSON在Ruby中?

回答

4

步驟1:解析GET響應:

require 'cgi' 

CGI::parse(MYSTRING) 

返回:{"param1"=>["value1"], "param2"=>["value2"], "param3"=>["value3"]}

步驟2. Convert to JSON

require 'json' 

myObject.to_json 

或者,看看這個片段:

https://gist.github.com/timsavery/1657351

require "rubygems" 
require "json" 
require "net/http" 
require "uri" 

uri = URI.parse("http://api.sejmometr.pl/posiedzenia/BZfWZ/projekty") 

http = Net::HTTP.new(uri.host, uri.port) 
request = Net::HTTP::Get.new(uri.request_uri) 

response = http.request(request) 

if response.code == "200" 
    result = JSON.parse(response.body) 

    result.each do |doc| 
    puts doc["id"] #reference properties like this 
    puts doC# this is the result in object form 
    puts "" 
    puts "" 
    end 
else 
    puts "ERROR!!!" 
end 
+1

獲取響應的代碼量越小'result = JSON.parse(Net :: HTTP.get(URI(「您正在使用的任何url」)))' 如果存在解析錯誤,則結果將會是'nil',並且可以跳過每個.each簡單的if –