GSON を使用したネストされたデータ構造のデコード
提供された JSON データはオブジェクトの配列を表しますが、デコード コードは単一のオブジェクトを予期しています。 ChannelSearchEnum クラス。この不一致により、「BEGIN_OBJECT が予期されましたが、BEGIN_ARRAY でした」という例外が発生します。
これに対処するには、オブジェクトの配列を処理できるようにデコード アプローチを変更する必要があります。適切な方法の 1 つは、TypeToken クラスを fromJson メソッドと組み合わせて利用することです。
Type collectionType = new TypeToken<Collection<ChannelSearchEnum>>(){}.getType(); Collection<ChannelSearchEnum> enums = gson.fromJson(json, collectionType);
このコードは、ChannelSearchEnum オブジェクトのコレクションの型トークンを作成し、それを使用して逆シリアル化中に目的の型を指定します。その結果、GSON は JSON 配列を正しく解析し、個々の ChannelSearchEnum インスタンスを含むコレクションを作成します。
以上がGSON を使用して JSON 配列をオブジェクトのコレクションにデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。