使用Jackson JSON映射器序列化/反序列化java 8 java.time [英] serialize/deserialize java 8 java.time with Jackson JSON mapper
问题描述
如何将Jackson JSON映射器与Java 8 LocalDateTime一起使用?
How do I use Jackson JSON mapper with Java 8 LocalDateTime?
org.codehaus.jackson.map.JsonMappingException:无法实例化来自JSON String的类型[simple type,class java.time.LocalDateTime]的值;没有单字符串构造函数/工厂方法(通过引用链:MyDTO [field1] - > SubDTO [date])
org.codehaus.jackson.map.JsonMappingException: Can not instantiate value of type [simple type, class java.time.LocalDateTime] from JSON String; no single-String constructor/factory method (through reference chain: MyDTO["field1"]->SubDTO["date"])
推荐答案
这里不需要使用自定义序列化器/反序列化器。使用 jackson-modules-java8的日期时间模块:
There's no need to use custom serializers/deserializers here. Use jackson-modules-java8's datetime module:
数据类型模块让杰克逊认识到Java 8 Date&时间API数据类型(JSR-310)。
Datatype module to make Jackson recognize Java 8 Date & Time API data types (JSR-310).
- 持续时间
- 即时
- LocalDateTime
- LocalDate
- LocalTime
- MonthDay
- OffsetDateTime
- OffsetTime
- 期间
- 年
- YearMonth
- ZonedDateTime
- ZoneId
- ZoneOffset
- Duration
- Instant
- LocalDateTime
- LocalDate
- LocalTime
- MonthDay
- OffsetDateTime
- OffsetTime
- Period
- Year
- YearMonth
- ZonedDateTime
- ZoneId
- ZoneOffset
这篇关于使用Jackson JSON映射器序列化/反序列化java 8 java.time的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!