Bewährtes Verfahren zum Serialisieren von java.time.LocalDateTime (java 8) auf js Date mithilfe von GSON
In unserem letzten Projekt verwenden wir Java 8. Ich muss java.time.LocalDateTime serialisieren, um das Datumsformat des Java-Skripts zu erhalten.
Derzeit habe ich einen benutzerdefinierten Serializer definiert, um LocalDateTime in einen Zeitstempel zu konvertieren.
public class LocalDateTimeSerializer implements JsonSerializer<LocalDateTime> {
@Override
public JsonElement serialize(LocalDateTime localDateTime, Type type, JsonSerializationContext jsonSerializationContext) {
Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
Date date = Date.from(instant);
return new JsonPrimitive(date.getTime());
}
}
Erstellen Sie dann ein Gson-Objekt mit GsonBuilder und meinem benutzerdefinierten LocalDateTimeSerializer
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(LocalDateTime.class, new LocalDateTimeSerializer());
Gson gson = gsonBuilder.create();
Dann erstelle ich in Java Script ein Date-Objekt mit diesem Zeitstempel. Es funktioniert gut.
Ich muss wissen, ist das in Ordnung oder gibt es einen besseren Weg, dies zu tun?