首页 >Java >java教程 >如何在 Spring Boot 中自定义 Java 8 LocalDates 的 JSON 序列化?

如何在 Spring Boot 中自定义 Java 8 LocalDates 的 JSON 序列化?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-13 16:51:15175浏览

How to Customize JSON Serialization of Java 8 LocalDates in Spring Boot?

在 Spring Boot 中自定义 Java 8 LocalDates 的 JSON 序列化

问题:

格式化时Spring Boot 应用程序中的 Java 8 LocalDateTime,生成的 JSON 表示形式包含详细信息字段值而不是所需的 ISO 日期格式。

解决方案:

在 Spring Boot 2.x 之前,需要额外配置才能实现所需的格式:

  1. 添加以下内容dependency:

    compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.4.0")
  2. 通过将以下内容添加到 application.properties 来启用无时间戳日期序列化:

    spring.jackson.serialization.write_dates_as_timestamps=false
  3. 包含以下内容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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn