Digamos que tengo las siguientes clases:Gson añadir automáticamente nombre de clase
public class Dog {
public String name = "Edvard";
}
public class Animal {
public Dog madDog = new Dog();
}
Si funciono esto a lo largo de un Gson Será serializarlo de la siguiente manera:
GSon gson = new GSon();
String json = gson.toJson(new Animal())
result:
{
"madDog" : {
"name":"Edvard"
}
}
este momento tan bueno, pero Me gustaría haber agregado el nombre de clase para todas las clases automáticamente con Gson, así que obtengo el siguiente resultado:
{
"madDog" : {
"name":"Edvard",
"className":"Dog"
},
"className" : "Animal"
}
¿Alguien sabe si esto es posible con algún tipo de interceptores o algo con Gson?
Esto realmente no resuelve el problema, ¿o sí? Quiero utilizar la serialización estándar para todos los campos, pero agrego un único campo adicional para el nombre de la clase: se siente como un caso de uso realmente normal. – mjaggard
El problema es que desea agregar un solo campo a la serialización normal, y mi solución resuelve ese problema (especialmente sin depender de dependencias adicionales). Entiendo que es un poco doloroso, pero de entrada no había/no parece ser una forma de lograr esta simple tarea sin crear y registrar serializadores personalizados. –