jackson error 含义log
1. 反序列化失败,类型不匹配

Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserial ize instance of java.lang.String out of START_OBJECT token at [Source: org.apache.http.conn.EofSensorInputStream@51796217; line: 1, column : 274] (through reference chain: com.expedia.lodging.domain.valueobject.poi.tip. Tip["postalAddress"]) at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingE xception.java:164) at com.fasterxml.jackson.databind.DeserializationContext.mappingExceptio n(DeserializationContext.java:691) at com.fasterxml.jackson.databind.deser.std.StringDeserializer.deseriali ze(StringDeserializer.java:46) at com.fasterxml.jackson.databind.deser.std.StringDeserializer.deseriali ze(StringDeserializer.java:11) at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize (SettableBeanProperty.java:525)
这段错误是因为给出的filed是String类型,而序列化的是字符串对应的为{},即使一个object。
2. 不是public的filed以及没有getter
com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class com.test.json.jackson.User and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) )
当序列化的时候,即将POJO转换为json的时候,需要有个getter方法。
3. 重写了构造方法但没有生命无参构造函数
com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor found for type [simple type, class com.test.json.jackson.User]: can not instantiate from JSON object (need to add/enable type information?) at [Source: java.io.StringReader@5f2108b5; line: 1, column: 2]
反序列化的时候,jackson需要通过无参构造函数来创建POJO。如果这时候你添加了构造函数并且带有参数,则无参构造函数被掩盖,则报错。
4.字符串中的字段和要转换POJO的字段不匹配,如果忽略不认识的字段,需要设
@JsonIgnoreProperties(ignoreUnknown = true)
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "a" (class com.test.json.jackson.User), not marked as ignorable (one known property: "name"]) at [Source: java.io.StringReader@75329a49; line: 1, column: 9] (through reference chain: com.test.json.jackson.User["a"]) at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:79) at com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty(DeserializationContext.java:555)
关注我的公众号

分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)