Wie man Jackson benutzt, um ein Array von Objekten zu deserialisieren
Den Jackson Datenbindung Dokumentation zeigt an, dass Jackson unterstützt deserialising "Arrays von allen unterstützten Typen" aber ich kann nicht herausfinden, die genaue syntax für diese.
Für ein einzelnes Objekt würde ich so machen:
//json input
{
"id" : "junk",
"stuff" : "things"
}
//Java
MyClass instance = objectMapper.readValue(json, MyClass.class);
Nun für ein array ich möchte, um dies zu tun:
//json input
[{
"id" : "junk",
"stuff" : "things"
},
{
"id" : "spam",
"stuff" : "eggs"
}]
//Java
List<MyClass> entries = ?
Wer weiß, ob es ist eine Magie, die fehlenden Befehl? Wenn nicht, dann was ist die Lösung?
InformationsquelleAutor der Frage Ollie Edwards | 2011-06-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie zuerst ein mapper :
Als Array:
Als Liste:
Einen anderen Weg angeben, um die Liste type:
InformationsquelleAutor der Antwort Programmer Bruce
Vom Eugene Tskhovrebov
Diese Lösung scheint die beste für mich
InformationsquelleAutor der Antwort Marthym
Für Generische Implementierung:
InformationsquelleAutor der Antwort Obi Wan - PallavJha
InformationsquelleAutor der Antwort jerome
Erstellen Sie zunächst eine Instanz ObjectReader, die thread-sicher ist.
Dann verwenden Sie es :
InformationsquelleAutor der Antwort Greg D
hier ist ein Dienstprogramm, das bis zu verwandeln json2object oder Object2json,
was auch immer Ihre pojo (Einheit T)
InformationsquelleAutor der Antwort Tiago Medici