使用 Jackson JSON 映射器序列化/反序列化 java 8 java.time

问题描述

这里不需要使用自定义序列化器/反序列化器。使用jackson-modules-java8 的 datetime 模块

使 Jackson 识别 Java 8 日期和时间 API 数据类型的数据类型模块 (JSR-310)。

这个模块增加了对很多类的支持:

  • Duration
  • Instant
  • LocalDateTime
  • LocalDate
  • LocalTime
  • MonthDay
  • OffsetDateTime
  • OffsetTime
  • Period
  • Year
  • YearMonth
  • zoneddatetime
  • ZoneId
  • ZoneOffset

解决方法

如何将 Jackson JSON 映射器与 Java 8 LocalDateTime 一起使用?

org.codehaus.jackson.map.JsonMappingException:无法从 JSON 字符串实例化类型 [简单类型,类
java.time.LocalDateTime]
的值;没有单字符串构造函数/工厂方法(通过引用链:MyDTO[“field1”]->SubDTO[“date”])