java - jsonsyntaxexception - ¿Cómo invocar otro serializador desde un Gson JsonSerializer personalizado?
retrofit gson date format (1)
Tengo mi clase personalizada User
:
class User {
public String name;
public int id;
public Address address;
public Timestamp created;
}
Ahora estoy creando un JsonSerializer personalizado para User.class:
@Override
public JsonElement serialize(User src, Type typeOfSrc,
JsonSerializationContext context) {
JsonObject obj = new JsonObject();
obj.addProperty("name", src.name);
obj.addProperty("id", src.id);
obj.addProperty("address", src.address.id);
// Want to invoke another JsonSerializer (TimestampAdapter) for Timestamp
obj.add("created", ???);
return obj;
}
Pero ya tengo un TimestampAdapter
que uso para Timestamp.class
. ¿Cómo puedo invocar este JsonSerializer
para ser utilizado en el campo "creado" en User.class
?
obj.add("created", context.serialize(src.created));
Si su TimestampAdapter
está registrado con Gson para la clase Timestamp
, el JsonSerializationContext
debe usarlo automáticamente para serializar el objeto y devolver un JsonElement
.