2012-09-11 73 views
1

有以下代碼:的JSONObject不能鑄造到JSONArray,SimpleJSON

String s= v.request("engine/?key=", "P4z72NmBa91&method=load"); 
JSONParser parser = new JSONParser(); 
Object obj = parser.parse(s); 
JSONArray arr = (JSONArray)obj; 
System.out.println(arr); 

,其輸出:

[ 
    {"time":"2012-09-10 19:09:08", 
    "username":"SomeUsername", 
    "times_logged":"1", 
     "ip":"33.33.33.33" 
    } 
] 

很抱歉,如果上述不正確格式化。

無論如何,這些在arr有多套,當我做arr.get(0)它會返回第一個,如預期。什麼是不正確的是我不能做arr.get(0).get(1)arr.get(0).get("time")或類似的東西。我試圖設置它是這樣的:

for(int i = 0; i < arr.size(); i++) { 
     JSONArray p = (JSONArray)arr.get(i); 
     System.out.println(p.get(0)); 
    } 

,我得到了我的問題的標題中提到的錯誤。雖然我相信arr不是JSONArray,而是JSONObject?如果是這樣的話,我如何遍歷arr中包含的內容並獲取每個項目?

回答

4
for(int i = 0; i < arr.size(); i++) { 
     JsonObject p = (JsonObject)arr.get(i); 
     System.out.println(p.get("time").getAsString()); 
    } 
+0

方法的getString(字符串)是未定義的JSONObject – Steve

+0

看到更新的答案 – Yahor10

+0

感謝的類型,我剛剛發現這是一個幾秒鐘,然後更新之前的答案:d – Steve