setdateformat jsonsyntaxexception google deserialize java json serialization gson jsonserializer

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 .