Diciamo che ho le seguenti classi:GSON aggiungere automaticamente nomeclasse
public class Dog {
public String name = "Edvard";
}
public class Animal {
public Dog madDog = new Dog();
}
Se corro questo attraverso una GSON sarà serializzare come segue:
GSon gson = new GSon();
String json = gson.toJson(new Animal())
result:
{
"madDog" : {
"name":"Edvard"
}
}
Questo Fin qui tutto bene, ma io vorrebbero avere aggiunto il className per tutte le classi automaticamente con GSON, così ho ottenere il seguente risultato:
{
"madDog" : {
"name":"Edvard",
"className":"Dog"
},
"className" : "Animal"
}
Qualcuno sa se questo è possibile con qualche tipo di intercettatore o qualcosa con Gson?
Questo non risolve il problema vero? Voglio utilizzare la serializzazione standard per tutti i campi, ma aggiungere un singolo campo aggiuntivo per il nome della classe: sembra un caso d'uso veramente normale. – mjaggard
Il problema è che si desidera aggiungere un singolo campo alla normale serializzazione e la mia soluzione risolve il problema (specialmente senza fare affidamento su eventuali dipendenze extra). Capisco che è una specie di sofferenza, ma fuori dalla scatola non c'è/non sembra essere un modo per raggiungere questo semplice compito senza creare e registrare serializzatori personalizzati. –