GSON-Ausnahme: „Erwartetes BEGIN_OBJECT, war aber BEGIN_ARRAY“
Fehlermeldung:
com.google.gson.JsonSyntaxException : java.lang.IllegalStateException: BEGIN_OBJECT erwartet war 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 Sie müssen Ihren Code anpassen, um die Array-Struktur richtig zu verarbeiten. 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<Collection<ChannelSearchEnum>>(){}.getType(); Collection<ChannelSearchEnum> enums = gson.fromJson(jstring, collectionType);
Dies wurde überarbeitet Der Code analysiert die JSON-Zeichenfolge korrekt als Sammlung von ChannelSearchEnum-Objekten und löst das „Expected BEGIN_OBJECT but was BEGIN_ARRAY"-Ausnahme.
Das obige ist der detaillierte Inhalt vonWarum gibt GSON „Expected BEGIN_OBJECT but was BEGIN_ARRAY' aus und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!