ホームページ >Java >&#&チュートリアル >Gson を使用してリスト オブジェクトを逆シリアル化する方法は?

Gson を使用してリスト オブジェクトを逆シリアル化する方法は?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-08 21:17:13797ブラウズ

How to Deserialize a List Object Using Gson?

リストを逆シリアル化する方法 Gson を使用したオブジェクト?

ジェネリック型を使用する場合、Google Gson での逆シリアル化で問題が発生する可能性があります。この問題は、Java の型消去メカニズムがコンパイル時に型情報を削除するため、ジェネリック型を効果的に逆シリアル化することが困難になるために発生します。

一般的なアプローチの 1 つは、TypeToken クラスの使用です。

import java.lang.reflect.Type;
import com.google.gson.reflect.TypeToken;

Type listType = new TypeToken<ArrayList<YourClass>>(){}.getType();
ArrayList<YourClass> yourClassList = new Gson().fromJson(jsonArray, listType);

Whenこのメソッドを使用すると、TypeToken コンストラクター内でジェネリック型を指定します。これにより、実行時の Type オブジェクトがパラメーター化された型情報を確実に取得し、Gson がジェネリック コレクションを正しく逆シリアル化できるようになります。

あるいは、TypeAdapter インターフェイスを使用して、カスタム型の逆シリアル化とシリアル化を手動で処理することもできます。ただし、このアプローチではより多くの労力とコードのメンテナンスが必要となるため、TypeToken メソッドは Gson でジェネリック型を逆シリアル化するための便利で効率的なオプションになります。

以上がGson を使用してリスト オブジェクトを逆シリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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