„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum gibt GSON „Expected BEGIN_OBJECT but was BEGIN_ARRAY“ aus und wie kann ich das beheben?

Warum gibt GSON „Expected BEGIN_OBJECT but was BEGIN_ARRAY“ aus und wie kann ich das beheben?

Veröffentlicht am 21.01.2025
Durchsuche:375

Why Does GSON Throw

GSON-Ausnahme: „BEGIN_OBJECT erwartet, aber BEGIN_ARRAY“

Fehlermeldung:

com.google.gson.JsonSyntaxException : java.lang.IllegalStateException: BEGIN_OBJECT erwartet, war es aber BEGIN_ARRAY in Zeile 1, Spalte 2

Problemübersicht:

Ihre JSON-Antwort ist ein Array von Objekten, aber Sie versuchen, es als einzelnes Objekt zu analysieren.

Lösung:

Um dieses Problem zu beheben, müssen Sie Ihren Code anpassen Behandeln Sie die Array-Struktur ordnungsgemäß. Anstatt zu versuchen, die JSON-Zeichenfolge als ChannelSearchEnum.class zu analysieren, sollten Sie sie als Array von ChannelSearchEnum-Objekten analysieren.

Korrigierter Code:

Type collectionType = new TypeToken>(){}.getType();
Collection enums = gson.fromJson(jstring, collectionType);

Dieser überarbeitete Code analysiert die JSON-Zeichenfolge korrekt als Sammlung von ChannelSearchEnum-Objekten und löst die Ausnahme „Erwartetes BEGIN_OBJECT, war aber BEGIN_ARRAY“ auf.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3