Ich habe eine json Struktur wieJson desirialization mit jackson mit Liste der Abstrakte Klasse Jackson
{"myobj": { "ford" : [ {"color":"blue","ford_property":"A" } ], "audi": [ {"color":"red", "audi_property":"B"}, {"color":"black", "audi_property":"C"} ] } }
Klassenstruktur ist
abstract class Car implements Serializable {
private String color;
// getter setter here
}
class Ford extends Car {
private String fordProperty;
// getter setter here
}
class Audi extends Car {
private String audiProperty;
// getter setter here
}
Meine Antwort Klasse
class Response implements Serializable {
private Map<String, List<Car>> myObj;
// getter setters
}
Versuchte @JsonSubTypes
mit auf Car
Klasse aber das erwartet die type
von class
Name als Teil des Objekts {"color":"blue","ford_property":"A" }
.
Dank
Ich weiß nicht, ob ich dein Problem bekomme, aber ich würde dies trotzdem vorschlagen [Polymorphe JSON mit Jackson] (http://programermerbruce.blogspot.it/2011/05/deserialize-json-with-jackson-into .html) – mauros
Ich habe versucht, dass polymorphe JSON mit Jackson das Problem ist, dass ich nicht 'Typ' als Teil der Klasse habe. Aber der 'Typ' ist der Schlüssel der Liste der Klasse. also anstelle von '[{Typ: Hund, Name: foo}]' Ich habe '{Hund: [{Name: Foo}]}' – Rishabh
Ok, würde ich mit einem benutzerdefinierten Deserializer gehen, wenn ich du wäre. [Jackson - Custom Deserializer] (http://www.baeldung.com/jackson-deserialization) – mauros