2014-05-03 9 views
0

je reçois du groupe de serveurs d'objets, et par ce code, je le convertir en JSON:Convertir chaîne en objet tableau JSON ... Android

public static ArrayList<bussListCubic> parseBussinessArray(String result) { 
    ArrayList<bussListCubic> arr = new ArrayList<bussListCubic>(); 
     try { 
      JSONArray jArray = new JSONArray(result); 
      JSONObject json_data = null; 
      for (int i = 0; i < jArray.length(); i++) { 
      json_data = jArray.getJSONObject(i); 
     bussListCubic userInfo = parseBussListCubic(json_data); 
     arr.add(userInfo); 
     } 
     } catch (JSONException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
return arr; 

}

Quelques fois l'application est écrasé et c'est l'erreur:

Caused by: java.lang.NullPointerException at 
org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116) at 
org.json.JSONTokener.nextValue(JSONTokener.java:94) at 
org.json.JSONArray.<init>(JSONArray.java:87) at 
org.json.JSONArray.<init>(JSONArray.java:103) 

il est également le point que l'erreur avec cette ligne: JSONArray jArray = new JSONArray(result): ligne n ° 4 du code ci-dessus ... qu'est-ce que cette erreur?

merci

+0

L'erreur est l'erreur la plus commune il y a . Cela signifie que quelque chose est "nul", et vous essayez d'utiliser cet objet comme s'il ne l'était pas. – keyser

+0

ok, mais comment expliquez-vous que l'application fonctionne la plupart du temps parfaitement, et parfois il s'est écrasé !! – user3516596

+0

Veuillez vérifier le json avant de le boucler. Vérifiez s'il contient des données, utilisez-le uniquement. – user2323471

Répondre

2

L'accident est causé par une impression String result

invalide le résultat transmis à la méthode parseBussinessArray et voir quelle est sa valeur lors de l'accident se produit

+0

en fait j'essaie aussi d'envoyer des données de résultats erronées "Juste pour le tester", et l'application ne plante pas, juste n'affiche rien !!! – user3516596

+0

Si vous utilisez un try catch l'erreur est masquée, pour cette raison l'application ne plante pas mais ne montre pas les valeurs, avec une mauvaise entrée – Silverstorm

+0

maintenant j'essaye juste d'envoyer le résultat null à parseBussinessArray et j'ai eu la même erreur , donc parfois l'application envoie un résultat nul !! – user3516596

Questions connexes