Formatieren von Java 8 LocalDate mit Jackson
Problem:
Konvertieren von Date in Java-Anwendungen Mithilfe der Annotation @JsonFormat können Objekte mit bestimmten Datumsmustern problemlos in das JSON-Format konvertiert werden. Beim Umgang mit java.time.LocalDate, das in Java 8 eingeführt wurde, funktioniert der gleiche Ansatz jedoch möglicherweise nicht wie erwartet.
Vorgeschlagene Lösung:
So passen Sie die Formatierung an Wenn Sie LocalDate-Objekte für die JSON-Serialisierung verwenden, kann der folgende Ansatz verwendet werden:
Beispiel Code:
ContextResolver:
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; @Provider public class ObjectMapperContextResolver implements ContextResolver<ObjectMapper> { @Override public ObjectMapper getContext(Class<?> type) { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new JavaTimeModule()); mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); return mapper; } }
Ressourcenklasse:
import java.time.LocalDate; @Path("person") public class LocalDateResource { @GET public Person getPerson() { return new Person(LocalDate.now()); } }
Person Klasse:
public class Person { @JsonDeserialize(using = LocalDateDeserializer.class) @JsonSerialize(using = LocalDateSerializer.class) private LocalDate birthDate; }
Durch die Implementierung dieses Ansatzes werden LocalDate-Objekte erstellt kann effektiv serialisiert und deserialisiert werden, was eine flexible JSON-Formatierung ermöglicht.
Das obige ist der detaillierte Inhalt vonWie formatiere ich Java 8 LocalDate-Objekte in JSON mit Jackson richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!