Heim >Java >javaLernprogramm >Wie kann ich ein Listenobjekt mit Gson deserialisieren?

Wie kann ich ein Listenobjekt mit Gson deserialisieren?

Susan Sarandon
Susan SarandonOriginal
2024-12-10 19:03:12873Durchsuche

How Can I Deserialize a List Object with Gson?

Deserialisieren einer Liste Objekt mit Gson

Bei dem Versuch, Listenobjekte mit Google Gson zu übertragen, sind Schwierigkeiten bei der Deserialisierung generischer Typen aufgetreten. Beim Versuch einer von der Antwort von BalusC inspirierten Lösung erschien eine Fehlermeldung, die auf die Notwendigkeit von Methodenimplementierungen hinweist.

Es gibt jedoch einen effektiveren Ansatz, indem die TypeToken-Klasse wie folgt verwendet wird:

Type listType = new TypeToken<ArrayList<YourClass>>(){}.getType();
List<YourClass> yourClassList = new Gson().fromJson(jsonArray, listType);

Die TypeToken-Klasse erfasst einen Typ zur Kompilierungszeit in einem java.lang.reflect.Type-Objekt, im Gegensatz zu einem Class-Objekt, das nur einen Rohtyp darstellt. Dies ermöglicht die Darstellung jedes beliebigen Typs in der Java-Sprache, einschließlich generischer Typen.

Die TypeToken-Klasse wird anonym erstellt, da ihre direkte Konstruktion nicht zulässig ist. Dies ist notwendig, um die Typinformationen innerhalb der anonymen Unterklasse zu erfassen.

Es ist wichtig zu beachten, dass TypeToken nur Typen erfassen kann, die zur Kompilierungszeit vollständig bekannt sind.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Listenobjekt mit Gson deserialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn