Jackson Redisson反序列化问题
异常信息
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `java.util.concurrent.atomic.AtomicInteger` (although at least one Creator exists): no int/Int-argument constructor/factory method to deserialize from Number value (0)
原因
类里面有个 AtomicInteger 类型变量, jackson 找不到改类的通过 Number value 0 的反序列化方法。
解决方案
手动添加一个反序列化配置,
// 以下代码直接在时间序列化 module 里面添加 AtomicInteger 的反序列化配置。 static class AtomicIntegerDeserializer extends JsonDeserializer<AtomicInteger> { @Override public AtomicInteger deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { return new AtomicInteger(p.getValueAsInt()); } } @Bean public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() { JavaTimeModule module = new JavaTimeModule(); module.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DATE_PATTERN))); module.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(TIME_PATTERN))); module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DATE_TIME_PATTERN))); module.addDeserializer(AtomicInteger.class, new AtomicIntegerDeserializer()); return builder -> { builder.simpleDateFormat(DATE_TIME_PATTERN); builder.serializers(new LocalDateSerializer(DateTimeFormatter.ofPattern(DATE_PATTERN))); builder.serializers(new LocalTimeSerializer(DateTimeFormatter.ofPattern(TIME_PATTERN))); builder.serializers(new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DATE_TIME_PATTERN))); builder.modules(module); }; }
极简生效代码
ObjectMapper objectMapper = new ObjectMapper(); SimpleModule module = new SimpleModule(); module.addDeserializer(AtomicInteger.class, new AtomicIntegerDeserializer()); objectMapper.registerModule(module);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律