2011-11-05 94 views
0

我用GSON檢索一段簡單的JSON的,不包括陣列,我把他們安置到對象的列表:解析JSON有數組

Type listType = new TypeToken<List<SingleEvent>>(){}.getType(); 
List<SingleEvent> events = new Gson().fromJson(jsonResponse, listType); 

SingleEvent是類我創建幷包含簡單的字符串變量。

現在,我想創建一個可以從JSON字符串中取數組的對象。

[{"ticketmaster":"http:\/\/www.ticketmaster.ca","images":["http:\/\/www.example.com\/sites\/default\/files\/imagecache\/gallery\/SNW_4.jpg","http:\/\/www.example.com\/sites\/default\/files\/imagecache\/gallery\/AB.jpg","http:\/\/www.example.com\/sites\/default\/files\/imagecache\/gallery\/L5Y.jpg","http:\/\/www.example.com\/sites\/default\/files\/imagecache\/gallery\/TOS.jpg"]}] 

所以,在我的對象將保持這個數據我只是犯了這樣的一個變量:

我得到一個警告,但我知道如何處理傳入的JSON陣列。

+0

什麼是您收到的警告?可能需要將圖像設置爲ArrayList ? – hooked82

+0

謝謝你的工作。請參閱編輯後編輯後 – Adam

回答

0

但是,如果您可以使用本機類解析相同的JSON響應呢?

下面是一個簡單的嘗試:

try { 
    JSONObject obj = new JSONObject("Your JSON String"); 
    JSONArray array = obj.getJSONArray("images"); 

    for(int i=0; i<array.length(); i++) 
    { 
     System.out.println("=====> Image at index "+i+"==>"+array.getString(i)); 
    } 
} catch (JSONException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
}