通过 Spring Boot 将 Java 8 LocalDateTime 格式化为 JSON
在序列化和反序列化过程中保持时态数据的一致且直观的格式对于现代至关重要应用程序开发。然而,在 Spring Boot 应用程序中格式化 Java 8 LocalDateTime 对象通常会带来挑战。
问题:
当尝试在 Spring Boot 应用程序中格式化 LocalDateTime 对象时,用户可能会遇到类似于以下内容的详细输出:
"startDate" : { "year" : 2010, "month" : "JANUARY", "dayOfMonth" : 1, "dayOfWeek" : "FRIDAY", "dayOfYear" : 1, "monthValue" : 1, "hour" : 2, "minute" : 2, "second" : 0, "nano" : 0, "chronology" : { "id" : "ISO", "calendarType" : "iso8601" } }
Desired结果:
目标是将 LocalDateTime 对象格式化为更简洁易读的格式,例如:
"startDate": "2015-01-01"
解决方案:
为了实现所需的格式,用户必须首先将以下依赖项添加到他们的项目:
compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.4.0")
此依赖项引入了一个自动处理 LocalDateTime 对象转换的转换器。此外,必须将以下配置添加到 application.properties 文件中:
spring.jackson.serialization.write_dates_as_timestamps=false
通过将此属性设置为 false,Spring 将利用适当的转换器将日期格式化为字符串而不是时间戳。如果需要特定的格式,可以使用 @JsonFormat 和 @DateTimeFormat 等注释。
以上是如何使用 Spring Boot 以 JSON 格式简洁地格式化 Java 8 LocalDateTime 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!