使用Spring Data JPA 克服JSON 序列化挑戰:格式化ZonedDateTime 以提高效率 簡介 預設 ZonedDateTime 序列化的問題開箱即用,Spring Data JPA 往往會產生冗長的內容ZonedDateTime 物件的 JSON 表示形式。此輸出包含不必要的欄位和詳細信息,這些欄位和詳細資訊可能會使 JSON 響應膨脹。因此,會傳輸大量不必要的數據,影響效能和效率。 使用 @DateTimeFormat 解決問題格式化 ZonedDateTime 的一種方法是在實體中使用 @DateTimeFormat 註解班級。如提供的程式碼片段所示,您可以指定 ISO.DATE_TIME 以將 ZonedDateTime 值格式化為 ISO-8601 格式。雖然這種方法可以確保日期和時間的格式正確,但它並不能解決過多字段包含的問題。 介紹 Jackson 的 Java 8 日期時間模組真正最佳化 JSON 序列化ZonedDateTime,並建議利用 Jackson 的 Java 8 日期時間模組。此模組為處理 Java 8 日期和時間類別提供專門支持,包括 ZonedDateTime。 依賴項配置: com.fasterxml.jackson.datatype jackson-datatype-jsr310 2.6.0 登入後複製 模組註冊: ObjectMapper objectMapper = new ObjectMapper(); objectMapper.registerModule(new JavaTimeModule());登入後複製 自訂🎜>自訂🎜> 除了使用Java 8日期時間模組之外,您還可以使用 @JsonFormat 註解為 ZonedDateTime 欄位指定自訂格式。這允許您控制確切的輸出格式,包括包含或排除某些欄位。 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ") public ZonedDateTime getTime() { return time; }登入後複製 透過此配置,ZonedDateTime 的 JSON 序列化將按照指定的模式進行格式化,確保簡潔高效資料傳輸。