Java 使用Jackson@JsonDeserialize注释时发生IllegalStateException
我正在尝试使用Jackson中的自定义反序列化程序来反序列化一些json对象。但是,当我尝试让ObjectMapper读取json时,会出现以下异常:Java 使用Jackson@JsonDeserialize注释时发生IllegalStateException,java,json,jackson,deserialization,json-deserialization,Java,Json,Jackson,Deserialization,Json Deserialization,我正在尝试使用Jackson中的自定义反序列化程序来反序列化一些json对象。但是,当我尝试让ObjectMapper读取json时,会出现以下异常: java.lang.IllegalStateException: AnnotationIntrospector returned Class com.Geometry.GeometryDeserializer; expected Class<JsonDeserializer> …我在课堂上的组合: abstract class Mi
java.lang.IllegalStateException: AnnotationIntrospector returned Class com.Geometry.GeometryDeserializer; expected Class<JsonDeserializer>
…我在课堂上的组合:
abstract class MixIn {
@JsonDeserialize(using=GeometryDeserializer.class)
abstract void setGeometry(Geometry geometry);
}
…和我的反序列化程序:
public class GeometryDeserializer extends JsonDeserializer<Geometry> {
@Override
public Geometry deserialize(JsonParser jp, DeserializationContext dc) throws IOException, JsonProcessingException {
//stuff happens
}
}
公共类GeometryDeserializer扩展JsonDeserializer{
@凌驾
公共几何体反序列化(JsonParser jp,反序列化上下文dc)引发IOException,JsonProcessingException{
//事情发生了
}
}
任何反馈/协助都将非常感谢
谢谢 胡乱猜测:你不小心混淆了Jackson 1.x和Jackson 2.x类型?类名基本上是相同的,但存在于不同的包中——当使用一组类时,情况会发生变化,但IDE可能会导致意外的混淆
public class GeometryDeserializer extends JsonDeserializer<Geometry> {
@Override
public Geometry deserialize(JsonParser jp, DeserializationContext dc) throws IOException, JsonProcessingException {
//stuff happens
}
}