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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage