Heim > Java > javaLernprogramm > Wie dekodiere ich ein JSON-Array mithilfe von GSON in eine Sammlung von Objekten?

Wie dekodiere ich ein JSON-Array mithilfe von GSON in eine Sammlung von Objekten?

Linda Hamilton
Freigeben: 2024-12-20 22:38:10
Original
168 Leute haben es durchsucht

How to Decode a JSON Array into a Collection of Objects Using GSON?

Dekodierung verschachtelter Datenstrukturen mit GSON

Die bereitgestellten JSON-Daten stellen ein Array von Objekten dar, während der Dekodierungscode ein einzelnes Objekt von vorwegnimmt die ChannelSearchEnum-Klasse. Diese Nichtübereinstimmung führt zur Ausnahme „Erwartetes BEGIN_OBJECT, war aber BEGIN_ARRAY“.

Um dies zu beheben, muss der Dekodierungsansatz geändert werden, um ein Array von Objekten zu verarbeiten. Eine geeignete Methode ist die Verwendung der TypeToken-Klasse in Kombination mit der fromJson-Methode.

Type collectionType = new TypeToken<Collection<ChannelSearchEnum>>(){}.getType();
Collection<ChannelSearchEnum> enums = gson.fromJson(json, collectionType);
Nach dem Login kopieren

Dieser Code erstellt ein Typtoken für eine Sammlung von ChannelSearchEnum-Objekten und verwendet es dann, um den gewünschten Typ während der Deserialisierung anzugeben. Infolgedessen analysiert GSON das JSON-Array korrekt und füllt eine Sammlung mit einzelnen ChannelSearchEnum-Instanzen.

Das obige ist der detaillierte Inhalt vonWie dekodiere ich ein JSON-Array mithilfe von GSON in eine Sammlung von Objekten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage