JSON mit Jackson in polymorphe Typen zerlegen - Ein vollständiges Beispiel gibt mir einen Kompilierungsfehler
Ich versuche, ein Tutorial von Programmer Bruce durchzuarbeiten, das die Deserialisierung von polymorphem JSON ermöglichen soll.
Die vollständige Liste finden Sie hierProgrammer Bruce Tutorials (Tolles Zeug übrigens)
Ich habe die ersten fünf ohne Probleme durchgearbeitet, aber ich habe beim letzten einen Haken getroffen (Beispiel 6), was natürlich das ist, was ich wirklich brauche, um zu arbeiten.
Ich erhalte zur Kompilierungszeit die folgende Fehlermeldung
Die Methode readValue (JsonParser, Class) vom Typ ObjectMapper gilt nicht für die Argumente (ObjectNode, Class)
und es wird durch das Stück Code verursacht
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);
}
}
Speziell durch die Linie
return mapper.readValue (root, animalClass);
Hat jemand schon einmal darauf gestoßen und wenn ja, gab es eine Lösung?
Ich würde mich über jede Hilfe freuen, die jemand im Voraus leisten kann. Danke Jon D.