2015-04-20 267 views
0

我不斷遇到錯誤。從JSON中獲取數據

的路徑,以我的JSON數據是

["data"][i]["ip"] 

其中i是該指數。

我,以便將值存儲一個列表陣列內試圖

json_obj.each do |obj| 
    list << obj["data"[i]["ip"] 
end 

。我不斷收到一些轉換錯誤。有一個更好的方法嗎?


uri = URI.parse("SITE") 
    http = Net::HTTP.new(uri.host, uri.port) 
    http.use_ssl = true 
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE 

    req = Net::HTTP::Get.new(uri.request_uri) 
    req.basic_auth('USER', 'PASS') 
    res = http.request(req) 

    json_resp = JSON.parse(res.body) 

    list = [] 

    json_resp.each do | obj | 
    print obj["data"][0]["fqdn"] 
    end 
+0

是json_obj實際上JSON或已它已經被解析?你有什麼錯誤? – Doon

+0

你可以在ruby中使用純json。你把它變成紅寶石陣列嗎?你可以發佈一個例子json,你想要訪問什麼? – tebayoso

+1

你能發佈實際的錯誤嗎? – Sid

回答

1

應該json_obj["data"].each

json_obj是散列(或散列等反正),所以你需要通過鍵然後就可以訪問數組json_obj [「數據」]指向和使用它的每種方法。

由於@tadman說,這個錯誤是Array.each不順心一個字符串索引,而且往往發生在我身上......