2011-09-03 3 views
1

Comment puis-je obtenir des objets Java à partir de cette chaîne JSON? Nous n'avons pas le nom de l'objet dans la chaîne JSONComment obtenir des objets Java à partir d'une chaîne JSON

[ 
    { 
     "eqid": "c0001xgp", 
     "magnitude": 8.8, 
     "lng": 142.369, 
     "src": "us", 
     "datetime": "2011-03-11 04:46:23", 
     "depth": 24.4, 
     "lat": 38.322 
    }, 
    { 
     "eqid": "2007hear", 
     "magnitude": 8.4, 
     "lng": 101.3815, 
     "src": "us", 
     "datetime": "2007-09-12 09:10:26", 
     "depth": 30, 
     "lat": -4.5172 
} 
] 

J'ai trouvé un code comme celui-ci pour analyser le JSON. JSONArray

earthquakes = json.getJSONArray("earthquakes"); 
for(int i=0;i < earthquakes.length();i++){      
     HashMap<String, String> map = new HashMap<String, String>(); 
     JSONObject e = earthquakes.getJSONObject(i); 
     map.put("id", String.valueOf(i)); 
     map.put("name", "Earthquake name:" + e.getString("eqid")); 
     map.put("magnitude", "Magnitude: " +  e.getString("magnitude")); 
     mylist.add(map); 
    } 

Mais il est juste au cas où nous avons le nom de l'objet: « tremblement de terre » comme celui-ci

{"earthquakes":[ 

    { 
     "eqid": "c0001xgp", 
     "magnitude": 8.8, 
     "lng": 142.369, 
     "src": "us", 
     "datetime": "2011-03-11 04:46:23", 
     "depth": 24.4, 
     "lat": 38.322 
    }, 
    { 
     "eqid": "2007hear", 
     "magnitude": 8.4, 
     "lng": 101.3815, 
     "src": "us", 
     "datetime": "2007-09-12 09:10:26", 
     "depth": 30, 
     "lat": -4.5172 
} 
]} 

Que dois-je faire si je n'ai pas le nom de « tremblement de terre ». Désolé je ne peux pas ajouter une nouvelle réponse à moi-même, alors je viens de modifier la question.

+0

duplication possible de [Comment analyser le tableau JSON sans nom d'objet] (http://stackoverflow.com/questions/6964387/how-to-parse-json-array-with-no-object-name) –

Répondre

1

Vous pouvez utiliser une bibliothèque d'analyseurs JSON telle que google-json qui vous permettra d'analyser ce fichier JSON en une classe Java fortement typée que vous devez définir. Dans ce cas, vous allez définir une classe Java avec des propriétés telles que eqid, magnitude, ... puis l'analyseur vous retournera un tableau de cet objet.

+0

Remerciements vous beaucoup. J'ai trouvé un code comme celui-ci pour analyser le JSON – lovesunset

Questions connexes