Я пытаюсь работать через учебник от программиста Брюса, который должен позволить десериализацию полиморфного JSON.
Полный список можно найти здесь Учебники программиста Брюса (Великий материал кстати)
Я работал в первой пятерке без проблем, но я попал в ловушку последнего (пример 6), который, конечно же, я действительно должен работать.
Во время компиляции я получаю следующую ошибку
Метод readValue (JsonParser, Class) в типе ObjectMapper неприменим для аргументов (ObjectNode, Class)
и это вызвано блоком кода
public Animal deserialize(
JsonParser jp, DeserializationContext ctxt)
throws IOException, JsonProcessingException
{
ObjectMapper mapper = (ObjectMapper) jp.getCodec();
ObjectNode root = (ObjectNode) mapper.readTree(jp);
Class<? extends Animal> animalClass = null;
Iterator<Entry<String, JsonNode>> elementsIterator =
root.getFields();
while (elementsIterator.hasNext())
{
Entry<String, JsonNode> element=elementsIterator.next();
String name = element.getKey();
if (registry.containsKey(name))
{
animalClass = registry.get(name);
break;
}
}
if (animalClass == null) return null;
return mapper.readValue(root, animalClass);
}
}
В частности, по строке
return mapper.readValue(root, animalClass);
Кто-нибудь сталкивался с этим раньше, и если да, было ли решение?
Буду признателен за любую помощь, которую любой может дать заранее спасибо Джон Д..