Heim >Java >javaLernprogramm >Warum wirft GSON beim Parsen von JSON-Arrays „Erwartetes BEGIN_OBJECT, war aber BEGIN_ARRAY' aus?

Warum wirft GSON beim Parsen von JSON-Arrays „Erwartetes BEGIN_OBJECT, war aber BEGIN_ARRAY' aus?

Linda Hamilton
Linda HamiltonOriginal
2025-01-01 01:25:10774Durchsuche

Why Does GSON Throw

BEGIN_OBJECT erwartet, war aber BEGIN_ARRAY mit GSON

Beim Versuch, eine JSON-Zeichenfolge, die ein Array von Objekten enthält, mithilfe von GSON in eine Liste von Objekten zu analysieren , tritt das Problem „BEGIN_OBJECT erwartet, aber BEGIN_ARRAY“ auf. Dies liegt daran, dass GSON damit rechnet, ein einzelnes Objekt zu analysieren, stattdessen aber auf ein Array von Objekten trifft.

Um dieses Problem zu beheben, besteht die richtige Methode darin, anzugeben, dass die erwartete Datenstruktur ein Array von Objekten ist. Dies kann erreicht werden, indem der Code wie folgt geändert wird:

ChannelSearchEnum[] enums = gson.fromJson(yourJson, ChannelSearchEnum[].class);

Alternativ können Sie für mehr Flexibilität den folgenden Code verwenden:

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

Das obige ist der detaillierte Inhalt vonWarum wirft GSON beim Parsen von JSON-Arrays „Erwartetes BEGIN_OBJECT, war aber BEGIN_ARRAY' aus?. 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