Rumah >Java >javaTutorial >Bagaimana untuk Memformat ZonedDateTime dengan Cekap untuk Pensirilan JSON dalam Spring Data JPA?
Spring Data JPA: Memformat ZonedDateTime untuk Pensirilan JSON
Apabila bekerja dengan JSON, siri objek ZonedDateTime boleh mengakibatkan pemindahan data yang berlebihan. Artikel ini membincangkan pemformatan ZonedDateTime untuk mengurangkan pemindahan data yang berlebihan.
Latar Belakang Masalah
ZonedDateTime menyimpan maklumat yang luas tentang tarikh dan masa. Secara lalai, siri JSON menghasilkan perwakilan besar yang merangkumi semua komponennya. Untuk pemindahan data yang cekap, adalah wajar untuk memformatkan ZonedDateTime dengan cara yang ringkas, seperti ISO 8601.
Penyelesaian dengan JavaTimeModule Jackson
Untuk memformat ZonedDateTime, kami boleh memanfaatkan Jackson's JavaTimeModule. Tambahkan kebergantungan pada pom.xml projek anda:
<dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>2.6.0</version> </dependency>
Untuk menggunakan modul, buat ObjectMapper dan daftar JavaTimeModule:
ObjectMapper objectMapper = new ObjectMapper(); objectMapper.registerModule(new JavaTimeModule());
Dalam kelas entiti anda, tambahkan anotasi @JsonFormat ke medan ZonedDateTime:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ") private ZonedDateTime lastModifiedDate;
Sampel Pelaksanaan
Di bawah ialah entiti sampel dan perwakilan JSONnya:
public class Entity { private ZonedDateTime time = ZonedDateTime.now(); @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ") public ZonedDateTime getTime() { return time; } }
Output JSON:
{"time":"2015-07-25T23:09:01.795+0700"}
Nota untuk Jackson 2.4.x Pengguna
Jika anda menggunakan Jackson 2.4.x, anda harus menggunakan objectMapper.registerModule(JSR310Module() baharu); sebaliknya.
Dengan melaksanakan penyelesaian di atas, anda boleh memformatkan ZonedDateTime dengan berkesan untuk siri JSON yang cekap, mengurangkan pemindahan data yang tidak perlu dan meningkatkan prestasi.
Atas ialah kandungan terperinci Bagaimana untuk Memformat ZonedDateTime dengan Cekap untuk Pensirilan JSON dalam Spring Data JPA?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!