【发布时间】:2021-07-09 20:06:03
【问题描述】:
在 post 请求的 json 中,我有几种不同的日期格式。我在同时反序列化时遇到了麻烦。我创建了一个配置类,可以很好地处理其中一个。如何添加额外的反序列化器来处理其他格式?
我无权访问 POJO 以在其中添加任何注释。
这是我无法反序列化的日期之一的错误
JSON 解析错误:无法从字符串“09/03/2020 10:59:48”反序列化 java.time.LocalDateTime 类型的值:无法反序列化 java.time.LocalDateTime:
@Configuration
public class JacksonConfig {
@Bean
@Primary
public ObjectMapper objectMapper() {
JavaTimeModule module = new JavaTimeModule();
LocalDateTimeDeserializer localDateTimeDeserializer = new LocalDateTimeDeserializer(
DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss"));
module.addDeserializer(LocalDateTime.class, localDateTimeDeserializer);
return Jackson2ObjectMapperBuilder.json().modules(module)
.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS).build();
}
}
【问题讨论】:
标签: java spring-boot jackson