Sto tirando una stringa JSON da un servizio web,che è in stile nella versione di seguito. I campi delle stringhe JSON per gli ID visualizzati potrebbero essere arbitrari a seconda di ciò che è stato inviato nel get. Ho seguito alcuni esempi con gson in cui si parla di prendere il json e di eseguirlo in un oggetto per gestire i valori di campo arbitrari. Come decodificare JSON con campo sconosciuto usando Gson? e Gestione di nomi di campi / chiavi JSON generati in modo casuale e incoerenti mediante GSON
La mia domanda è, cosa faccio con l'oggetto una voltaLo creo per estrarre campi specifici. Ho avuto una classe personalizzata per estrarre i valori dall'interno dell'oggetto (id, nome, profilo) ecc., Ma mi sono perso nel modo in cui sarei in grado di fare riferimento ai due, o come estrarre le informazioni dall'oggetto in un arraylist o qualcosa del genere.
{
"415943": {
"id": 415943,
"name": "Zoro Roronoa",
"profileIconId": 580,
"revisionDate": 1390848107000,
"summonerLevel": 30
},
"19758386": {
"id": 19758386,
"name": "Zoro",
"profileIconId": 535,
"revisionDate": 1390855130000,
"summonerLevel": 30
}
}
Main.java
Gson gson = new Gson();
Object o = gson.fromJson(jsonStatsString, Object.class);
risposte:
0 per risposta № 1Puoi utilizzare il tuo oggetto personalizzato che contiene i campi mappati nel JSON e convertirli in un elenco per te:
List<MyObject> items =
gson.fromJson(json, new TypeToken<List<MyObject>>() { }.getType());