zoukankan      html  css  js  c++  java
  • 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)
    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)
  • 相关阅读:
    OpenJudge计算概论-四大湖
    OpenJudge计算概论-排队游戏【这个用到了栈的思想】
    OpenJudge计算概论-流感传染【这个题用二维数组】
    OpenJudge计算概论-扩号匹配问题【这个用到了栈的思想】
    Openjudge计算概论-角谷猜想
    OpenJudge计算概论-发票统计
    OpenJudge计算概论-Tomorrow never knows【输入日期计算下一天的日期】
    已知二叉树的中序和前序序列(或后序)求解树
    OpenJudge计算概论-寻找下标
    OpenJudge计算概论-校门外的树
  • 原文地址:https://www.cnblogs.com/woshimrf/p/5845364.html
Copyright © 2011-2022 走看看