jackson error 含义log

简介: 1. 反序列化失败,类型不匹配 Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserial ize instance of java.

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)
View Code

这段错误是因为给出的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)

 





唯有不断学习方能改变! -- Ryan Miao
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
SQL JSON Kubernetes
Seata常见问题之服务端 error日志没有输出,客户端执行sql报错如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
104 0
|
6月前
|
Java 程序员
【日志级别】log4j的8个日志级别(OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL)
【日志级别】log4j的8个日志级别(OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL)
281 0
|
6月前
批量打印 SAP CRM 系统所有包含 Error Message Log 的 订单
批量打印 SAP CRM 系统所有包含 Error Message Log 的 订单
32 0
|
10月前
|
存储 设计模式 缓存
详解MySQL Error Log
Error Log是MySQL的一个非常重要的日志,主要用来记录mysqld的启动和关闭,以及mysqld启动,关闭以及运行期间的诊断信息。本文主要对Error Log的初始化以及写入过程做一个详细的介绍。以下介绍基于MySQL 8.0.28。初始化日志服务的初始化代码调用堆栈如下:- mysqld_main   - init_error_log   //初始化日志子系统   - log_buil
详解MySQL Error Log
|
11月前
|
关系型数据库 MySQL
把log_error_verbosity设置为3,调试连接问题ERROR 2003 (HY000):ERROR 1045 (28000):
mysql 8里面使用global log_error_verbosity控制日志记录的详细程度
|
关系型数据库 MySQL
MySQL的Error日志是干什么的?底层原理是什么?
MySQL的Error日志是干什么的?底层原理是什么?
109 0
|
监控 Java 中间件
拦截应用 error日志并发送到钉钉群|Java 开发实战
现在应用都需要对日志进行监控或者报警,现在普遍的做法是采用EKL收集日志,然后再由Grafana进行内容展示和及告警策略等,那如果项目架构比较简单(单体应用),又不想搞那么多中间件依赖怎么办,这里有一种简单的方式可以实现~
拦截应用 error日志并发送到钉钉群|Java 开发实战
|
Java Android开发
Eclipse打不开,出现an error has occured see the log file(日志中出现!MESSAGE FrameworkEvent ERROR !STACK 0)问题
Eclipse打不开,出现an error has occured see the log file(日志中出现!MESSAGE FrameworkEvent ERROR !STACK 0)问题
588 0
Eclipse打不开,出现an error has occured see the log file(日志中出现!MESSAGE FrameworkEvent ERROR !STACK 0)问题
|
网络协议 关系型数据库 Linux
onfigure: error: no acceptable C compiler found in $PATH See `config.log' for more details 问题解决
onfigure: error: no acceptable C compiler found in $PATH See `config.log' for more details 问题解决
145 0
|
Go iOS开发
The operation couldn’t be completed. Unable to log in with account 'myappleid'. An unexpected failure occurred while logging in (Underlying error code 1100).解决方法
The operation couldn’t be completed. Unable to log in with account 'myappleid'. An unexpected failure occurred while logging in (Underlying error code 1100).解决方法
348 0