Rumah >Java >javaTutorial >Bagaimana Memformat Objek Java 8 LocalDate dengan betul dalam JSON menggunakan Jackson?
Memformat Java 8 LocalDate dengan Jackson
Masalah:
Dalam aplikasi Java, menukar Tarikh objek ke dalam format JSON dengan corak tarikh tertentu boleh menjadi mudah menggunakan anotasi @JsonFormat. Walau bagaimanapun, apabila berurusan dengan java.time.LocalDate yang diperkenalkan dalam Java 8, pendekatan yang sama mungkin tidak berfungsi seperti yang diharapkan.
Penyelesaian Cadangan:
Untuk menyesuaikan pemformatan Objek LocalDate untuk siri JSON, pendekatan berikut boleh digunakan:
Contoh Kod:
Penyelesaikan Konteks:
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; } }
Kelas Sumber:
import java.time.LocalDate; @Path("person") public class LocalDateResource { @GET public Person getPerson() { return new Person(LocalDate.now()); } }
Orang Kelas:
public class Person { @JsonDeserialize(using = LocalDateDeserializer.class) @JsonSerialize(using = LocalDateSerializer.class) private LocalDate birthDate; }
Dengan melaksanakan pendekatan ini, Objek LocalDate boleh disiri dan dinyahsiri dengan berkesan, membolehkan pemformatan JSON yang fleksibel.
Atas ialah kandungan terperinci Bagaimana Memformat Objek Java 8 LocalDate dengan betul dalam JSON menggunakan Jackson?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!