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!