在 Spring Data JPA 中使用 ZonedDateTime 时,其 JSON 序列化可能会导致过多的数据传输。为了缓解这个问题,让我们探讨如何将 ZonedDateTime 格式化为 ISO 格式以实现高效序列化。
有效处理 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; }
这将在 JSON 期间将 ZonedDateTime 格式化为 ISO 格式序列化。
如果您使用的是 Jackson 2.4.x,请将注册行替换为:
objectMapper.registerModule(new JSR310Module());
以上是如何使用 Spring Data JPA 和 Jackson 以 ISO 格式序列化 ZonedDateTime?的详细内容。更多信息请关注PHP中文网其他相关文章!