Я пытаюсь использовать собственный десериализатор в Джексоне для десериализации некоторых объектов json. Однако, когда я пытаюсь иметь ObjectMapper читать JSON, происходит следующее исключение:IllegalStateException возникает при использовании аннотации Jackson @JsonDeserialize
java.lang.IllegalStateException: AnnotationIntrospector returned Class com.Geometry.GeometryDeserializer; expected Class<JsonDeserializer>
Я несколько в недоумении, что делать здесь, так как кажется, что AnnotationIntrospector жалуется, что мой GeometryDeserializer является не подкласс JsonDeserializer, когда это ясно.
Вот где я создаю Mapper Объект:
public void deserializeJson(String json) {
ObjectMapper mapper = new ObjectMapper();
mapper.addMixInAnnotations(Feature.class, MixIn.class);
Feature feature = mapper.readValue(json, Feature.class);
}
... мой Mix В классе:
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
}
}
Любая обратная связь/помощь будет значительно оценена.
Спасибо.