2014-05-15 4 views
0

Je ne sais pas pourquoi je vais avoir des problèmes tant avec cette simple analyse JSON:réponse Android Parse JSON

{"status":0,"result":{"success":false,"message":"Error"}} 

Comment puis-je obtenir le succès et un message chaîne?

try { 
     river = response.getJSONArray("result"); 

     // looping through All Contacts 
     for(int i = 0; i < river.length(); i++){ 
      JSONObject c = river.getJSONObject(i); 

      if (c.has("message")) { 
       message = c.getString("message"); 
       System.out.println("object_guid:"+message); } 

      if (c.has("success")) { 
       success = c.getString("success"); 
       System.out.println("subtype:"+success); } 

     } 

    } catch (JSONException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

Répondre

2

Remplacer

river = response.getJSONArray("result");                     

avec

river = response.getJSONObject("result");   

La balise result est un JSONObject et non un JSONArray

2

Votre result n'est pas jsonarray, son objet.

{"status":0,"result":{"success":false,"message":"Error"}}

JSONObject river = response.getJSONObject("result"); 
String success = river.getString("success"); 
String message = river.getString("message"); 
0

Dans votre réponse vous ne reçoivent pas JSONArray. Il contient JSONObjects uniquement. Donc, vous devez obtenir le JSONObject pas JSONArray.

Essayez comme ci-dessous:

    river = response.getJSONObject("result");                     
         if (river.has("message")) { 
            message = river.getString("message");     
            System.out.println("object_guid:"+message); } 

          if (river.has("success")) { 
            success = river.getString("success");     
           System.out.println("subtype:"+success); } 
          }