Jackson默认不支持Java 8 date/time类型的数据的序列化,因此,使用Jackson序列化时,默认无法操作Java 8 date/time类型的数据,会出现错误:
Exception in thread "main" com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.LocalDate` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling (through reference chain: xxxxxxxx)
需要进行两步配置,让Jackson支持Java 8 date/time类型
1,添加dependency
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
2.配置ObjectMapper
val jsonMapper=JsonMapper()
//注册时间Module
jsonMapper.registerModule(JavaTimeModule())
//设定日期格式
jsonMapper.setDateFormat(SimpleDateFormat("yyyy-MM-dd"))