首页  >  文章  >  Java  >  如何在 Spring Boot 中正确地将 Java 8 LocalDateTime 序列化为 JSON?

如何在 Spring Boot 中正确地将 Java 8 LocalDateTime 序列化为 JSON?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-23 22:27:11132浏览

How to Properly Serialize Java 8 LocalDateTime to JSON in Spring Boot?

在 Spring Boot 中将 Java 8 LocalDateTime 转换为 JSON

在 Spring Boot 中,格式化 Java 8 LocalDateTime 对象以进行 JSON 输出可能会带来挑战。虽然传统的日期格式按预期工作,但 LocalDateTime 存在独特的格式问题。

一个常见问题是 LocalDateTime 字段被转换为具有“年”、“月”等属性的详细结构,而不是一个简单的字符串表示形式。要解决此问题,需要进行额外配置。

要解决此问题,请按照以下步骤操作:

  1. 添加 Jackson 依赖项:

    • 在您的中包含以下依赖项项目:

      compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.4.0")
  2. 配置 Spring:

    • 将以下行添加到您的应用程序属性file:

      spring.jackson.serialization.write_dates_as_timestamps=false
    • 这将确保使用正确的转换器将日期序列化为字符串。

现在,Spring Boot 将自动注册一个 LocalDateTime 转换器。但是,如果您想自定义日期格式,可以使用以下注解:

  • @JsonFormat: 使用此注解指定所需的日期格式。
  • @DateTimeFormat: 使用此注解指定 ISO 日期

注意:在 Spring Boot 2.x 中,不再需要上述配置步骤,因为 Spring 现在原生处理 LocalDateTime 转换。

以上是如何在 Spring Boot 中正确地将 Java 8 LocalDateTime 序列化为 JSON?的详细内容。更多信息请关注PHP中文网其他相关文章!

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