2017-09-09 3 views
-3

J'ai cette réponseComment analyser plusieurs JSON lorsque la réponse est niché dans JAVA

[ 
    {\"pk\": 700, 
    \"model\": \"carsys.report\", 
    \"fields\": 
     {\"taser_stat\": false, 
     \"user\": 9, 
     \"date_reported\": 
     \"2017-09-09T16:47:22.891Z\", 
     \"car_ignition\": false, 
     \"car_id\": 4, 
     \"car_loc_stat\": false, 
     \"report_stat\": false, 
     \"car_loc\": \"Latitude: 14.549935Longitude: 121.065145https://www.google.com.ph/maps/@14.549935,121.065145,17z\", 
     \"rep_photo\": \"bear.PNG\", 
     \"car_photo_stat\": false 
     } 
    }, 
    {\"pk\": 699, 
     \"model\": \"carsys.report\", 
     \"fields\": 
     {\"taser_stat\": false, 
     \"user\": 9, 
     \"date_reported\": \"2017-09-09T15:41:58.237Z\", 
     \"car_ignition\": false, 
     \"car_id\": 4, 
     \"car_loc_stat\": false, 
     \"report_stat\": false, 
     \"car_loc\": 
     \"Latitude: 14.549935Longitude: 121.065145https://www.google.com.ph/maps/@14.549935,121.065145,17z\", 
     \"rep_photo\": \"Capture.PNG\", 
     \"car_photo_stat\": false 
     } 
    } 
] 

Tous les autres articles que j'ai trouvé a un point d'ancrage principal comme un « Ma réponse »: {...} avant la principale Objet JSON. Je voudrais juste savoir comment gérer ce type de réponse. Comme comment obtenir le car_photo par PK. Je prévois d'utiliser cette réponse pour une application Android qui recueille tous les "rapports" (pk) retournés par l'API Web à travers Volley.

Répondre

0

En supposant que vous utilisez org.json

JSONArray jsonArray = new JSONArray(yourJsonString); 
for (int i = 0; i < jsonArray.length(); i++) { 
    JSONObject jsonObject = jsonArray.getJSONObject(i); 
    int pk = jsonObject.getInt("pk"); 
    boolean carPhotoStat = jsonObject.getJSONObject("fields").getBoolean("car_photo_stat"); 

    System.out.printf("%d: %b\n", pk, carPhotoStat); 
} 

bibliothèque Chaque JSON je sais (GSON etc) sont capables de manipuler des objets JSON très bien sans les nommer explicitement dans les tableaux.