首頁 >Java >java教程 >如何使用 Spring Data JPA 和 Jackson 以 ISO 格式序列化 ZonedDateTime?

如何使用 Spring Data JPA 和 Jackson 以 ISO 格式序列化 ZonedDateTime?

DDD
DDD原創
2024-12-10 00:13:11389瀏覽

How to Serialize ZonedDateTime in ISO Format with Spring Data JPA and Jackson?

Spring Data JPA - 將ZonedDateTime 序列化為ISO 格式

在Spring Data JPA 中使用ZonedDateTime 時,其JSON 序列化可能會導致過多的資料傳輸。為了緩解這個問題,讓我們探討如何將 ZonedDateTime 格式化為 ISO 格式以實現高效序列化。

解決方案使用 Jackson Module for Java 8 Date Time API

有效處理 ZonedDateTime 序列化,安裝 Java 8 日期時間的 Jackson模組API.

<dependency>
    <groupId>com.fasterxml.jackson.datatype</groupId>
    <artifactId>jackson-datatype-jsr310</artifactId>
    <version>2.6.0</version>
</dependency>

如下使用此模組:

ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());

在您的實體類別中:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
public ZonedDateTime getTime() {
    return time;
}

這將在您的實體類別中將ZonedDateTime 格式化為ISO 格式序列化。

Jackson 版本註解2.4.x

如果您使用的是 Jackson 2.4.x,請將註冊行替換為:

objectMapper.registerModule(new JSR310Module());

以上是如何使用 Spring Data JPA 和 Jackson 以 ISO 格式序列化 ZonedDateTime?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn