我正在尝试使用jackson将JSON对象反序列化为Java对象。 json是由另一位开发人员使用jackson库本身创建的,并提供给我。 Object图有一个类型为guava的ImmutableMap变量,它是一个抽象类。当我尝试deSerialize时,Jackson会抛出以下异常。我不是myJava类的所有者,因此无法对其进行任何更改,例如更改类型或通过编写自定义反序列化器添加注释。
org.codehaus.jackson.map.JsonMappingException:找不到 用于非具体Map类型的反序列化器[map type;类 com.google.common.collect.ImmutableMap,[简单类型,类 com.walmart.services.common.enums.ShipMethod] - > [简单类型,类 com.walmart.services.shipprice.api.DetailedShipPrice]
谢谢
答案 0 :(得分:4)
在处理Guava类型时,您将需要使用Guava数据类型模块(https://github.com/FasterXML/jackson-datatype-guava)。这不仅仅是抽象类型的问题;但是Guava也使用了构建器风格而不是构造函数。