/ / GSON 2.0+ - Deserializza e analizza i campi arbitrari: java, android, json, gson

GSON 2.0+ - Deserializza e analizza i campi arbitrari: java, android, json, gson

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 № 1

Puoi 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());