在 Spring Boot 中自定义 Java 8 LocalDates 的 JSON 序列化
问题:
格式化时Spring Boot 应用程序中的 Java 8 LocalDateTime,生成的 JSON 表示形式包含详细信息字段值而不是所需的 ISO 日期格式。
解决方案:
在 Spring Boot 2.x 之前,需要额外配置才能实现所需的格式:
添加以下内容dependency:
compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.4.0")
通过将以下内容添加到 application.properties 来启用无时间戳日期序列化:
spring.jackson.serialization.write_dates_as_timestamps=false
包含以下内容LocalDateTime 属性上的注释getter:
@JsonFormat(pattern="yyyy-MM-dd") public LocalDateTime getStartDate() { return startDate; }
解释:
包含 jackson-datatype-jsr310 依赖项会注册 LocalDateTime 的转换器。将 write_dates_as_timestamps 配置为 false 可确保使用默认转换器,从而生成 ISO 格式 yyyy-MM-dd 的序列化日期。 @JsonFormat 注解进一步将格式自定义为所需的字符串表示形式。
以上是如何在 Spring Boot 中自定义 Java 8 LocalDates 的 JSON 序列化?的详细内容。更多信息请关注PHP中文网其他相关文章!