ホームページ > Java > &#&チュートリアル > TypeToken を使用して Gson でジェネリック コレクションを逆シリアル化する方法は?

TypeToken を使用して Gson でジェネリック コレクションを逆シリアル化する方法は?

Linda Hamilton
リリース: 2024-12-07 03:57:19
オリジナル
755 人が閲覧しました

How to Deserialize Generic Collections in Gson Using TypeToken?

Gson を使用した汎用コレクションの逆シリアル化

Google Gson を使用してリスト オブジェクトを逆シリアル化しようとしていますが、次のような問題が発生しています。ジェネリック型。

代替アプローチ

あなたが直面しているエラーは、 new List() {} が継承された抽象メソッドを実装していないことを示唆しています。代わりに、TypeToken を使用して実行時にジェネリック型を指定できます。

Type listType = new TypeToken<List<MyClass>>() {}.getType();
MyClass mc = new Gson().fromJson(result, listType);
ログイン後にコピー

例外処理

発生した NullPointerException は、リスト型がそうでないことを示しています。正しくフォーマットされています。次の点を確認してください:

  • 結果が null でないことを確認します。
  • listType をデバッグして、パラメーター化された型が正しく設定されていることを確認します。

TypeToken 説明

TypeToken クラスを使用すると、ジェネリック型をキャプチャできます。コンパイル時にそれらをランタイム型として表します。その匿名サブクラスは特定の型情報をカプセル化し、Gson が対応するオブジェクトを正しく逆シリアル化できるようにします。

将来の参照開発者

  • https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/TypeToken.html
  • https://stackoverflow.com/questions/12112101/gson-and-multiple-type-parameters-in-generic-class

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート