BEGIN_OBJECT を予期しましたが、GSON では BEGIN_ARRAY でした
GSON を使用してオブジェクトの配列を含む JSON 文字列をオブジェクトのリストに解析しようとしたとき、「BEGIN_OBJECT を期待していましたが、BEGIN_ARRAY でした」の問題が生じます。これは、GSON が単一オブジェクトの解析を想定しているにもかかわらず、代わりにオブジェクトの配列に遭遇するために発生します。
これを解決するには、期待されるデータ構造がオブジェクトの配列であることを指定するのが正しい方法です。これは、コードを次のように変更することで実現できます:
ChannelSearchEnum[] enums = gson.fromJson(yourJson, ChannelSearchEnum[].class);
または、柔軟性を高めるために、次のコードを使用できます:
Type collectionType = new TypeToken<Collection<ChannelSearchEnum>>(){}.getType(); Collection<ChannelSearchEnum> enums = gson.fromJson(yourJson, collectionType);
以上がJSON 配列を解析するときに GSON が「BEGIN_OBJECT を期待しましたが、BEGIN_ARRAY でした」というメッセージをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。