ホームページ >Java >&#&チュートリアル >GSON を使用して JSON 配列をオブジェクトのコレクションにデコードするにはどうすればよいですか?

GSON を使用して JSON 配列をオブジェクトのコレクションにデコードするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-20 22:38:10169ブラウズ

How to Decode a JSON Array into a Collection of Objects Using GSON?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。