2013-04-20 109 views
3

我有了這個JSON數據解析到我的Android應用程序:錯誤而解析JSON陣列

{"result":"success","source":"getPlayerNames","success":["Player1","Player2"]} 

解析它,我在做這樣(其中jsonData是包含上述數據的字符串) :

ArrayList<String> players; 
players = new ArrayList(); 

JSONObject json = new JSONObject(jsonData); 
JSONArray array = json.getJSONArray("success"); 

for (int i = 0; i < array.length() ; i++) 
{ 
    players.add(array.getString(i)); 
} 

players ArrayList中仍然是空的......(大小= 0)

爲什麼?你可以幫幫我嗎 ?

謝謝!

+0

你的代碼工作得很好,我自己測試過。這裏沒有問題。 – 2013-04-21 13:17:03

回答

0

試圖改變這種

players = new ArrayList(); 

到:

players = new ArrayList<String>(); 

看看是否有幫助

編輯: 明白了。工作代碼:

ArrayList<String> players; 
players = new ArrayList(); 

JSONObject json = new JSONObject(jsonData); 
JSONArray array = json.getJSONArray("success"); 

for (int i = 0; i < array.length() ; i++) 
{ 
    players.add((String)array.get(i)); 
} 
+0

不,仍然是一樣的...我認爲問題出在JSONArray解析,但是在哪裏? – natinusala 2013-04-21 12:47:22

+0

它的工作,謝謝! – natinusala 2013-04-21 13:18:22

+0

泛型聲明和強制轉換爲String是隱式的,因此不會改變任何內容。實際上,我強烈支持@ user1947177在'get'上使用'getString',因爲它允許'org.json'爲你做一些錯誤檢查。 – 2013-04-21 13:18:55