2010-04-07 4 views
1

Je travaille actuellement sur une application Android qui tire une liste de forums à partir d'un flux JSON. J'essaie d'analyser le flux et immédiatement après l'appel de getJSONArray, une exception JSON est lancée sans trace de pile. Le JSON retourné est stocké dans un jobj JSONObject avec le format comme suit:Android - Appel de getJSONArray lancer JSONException sans stacktrace

{ 
    "Forum": 
     [ 
     {"ForumName":"CEC Employee Communications Forum","ForumId":"105"}, 
     {"ForumName":"CEC External Stakeholder Relations Forum","ForumId":"109"}, 
     {"ForumName":"See All...","ForumId":"0"} 
     ] 
} 

Cependant lors de l'exécution du code suivant, je reçois une exception immédiate sans trace de la pile:

JSONArray jarray = new JSONArray(); 
jarray = jobj.getJSONArray("Forum"); 

Courir

jobj.GetJSONArray("Forum").toString(); 

retourne ce qui semble être un tableau correct du format:

[ 
{"ForumName":"CEC Employee Communications Forum","ForumId":"105"}, 
{"ForumName":"CEC External Stakeholder Relations Forum","ForumId":"109"}, 
{"ForumName":"See All...","ForumId":"0"} 
] 

J'ai aussi essayé

JSONArray jarray = new JSONArray(jobj.GetJSONArray("Forum").toString()); 

et avait l'exception jetée immédiatement.

Répondre

0

Donc, quelque chose comme ça n'aide pas? Je doute que vous puissiez obtenir une exception sans stacktrace:

JSONarray jarray = null; 
try { 
    jarray = jobj.getJSONArray("Forum"); 
} 
catch(JSONException je) { je.printStackTrace(); } 
+1

J'ai essayé et mis un point d'arrêt sur la ligne, mais il a sauté juste au-dessus et n'a rien imprimé dans le journal. – Agathron