リストの逆シリアル化
Google Gson を使用してリスト オブジェクトを転送しようとすると、ジェネリック型を逆シリアル化するという問題が発生しました。 BalusC の応答に触発されたソリューションを試みているときに、メソッド実装の必要性を示すエラー メッセージが表示されました。
ただし、次のように TypeToken クラスを利用する、より効果的なアプローチが存在します。
Type listType = new TypeToken<ArrayList<YourClass>>(){}.getType(); List<YourClass> yourClassList = new Gson().fromJson(jsonArray, listType);
TypeToken クラスは、生の型のみを表す Class オブジェクトとは異なり、コンパイル時の型を java.lang.reflect.Type オブジェクトにキャプチャします。これにより、ジェネリック型を含む Java 言語でのあらゆる型の表現が可能になります。
TypeToken クラスは、直接構築することが許可されていないため、匿名で構築されます。これは、匿名サブクラス内の型情報を取得するために必要です。
TypeToken はコンパイル時に完全に既知の型のみを取得できることに注意してください。
以上がGson でリスト オブジェクトを逆シリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。