Gson の TypeToken は、特定の種類の JSON データを操作するための便利なツールです。ただし、項目タイプが実行時に動的に割り当てられる ArrayList を処理する場合、制限に直面します。この記事では、この課題の回避策を詳しく掘り下げ、リフレクションを通じてさまざまな項目タイプの ArrayList を作成できるようにします。
当初、カスタム TypeToken 実装を使用してこれを実現しようとしましたが、例外として失敗したことが判明しました。 JSON 解析中に「java.sql.SQLException: 内部表現への変換に失敗しました」が発生しました。
解決策は、Gson の新しいバージョンにあります。ここで、TypeToken は #getParameterized メソッドを提供します。このメソッドを使用すると、カスタム型引数を使用して TypeToken を作成できます。このシナリオの目標は、動的に決定される特定の項目タイプ「myClass」を持つ ArrayList を表す TypeToken を作成することです。更新されたコード スニペットは次の形式になります。
TypeToken.getParameterized(ArrayList.class, myClass).getType()
この新しいアプローチは、目的の動的 ArrayList 構造に一致する TypeToken を効果的に生成し、以前の制限を解決し、JSON データを ArrayList にシームレスに変換できるようにします。動的に割り当てられる項目タイプ。
以上がGson の TypeToken を動的 ArrayList 項目タイプで使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。