Jackson を使用してジェネリック型を使用して JSON を逆シリアル化する
質問: Jackson を使用して JSON データをジェネリック クラスに逆シリアル化する方法?
次のクラス例を考えてみましょう:
class Data<T> { int found; Class<T> hits }
mapper.readValue(jsonString, Data.class) を使用した標準的な JSON 逆シリアル化の試行は失敗します。データを正しく逆シリアル化するには、型パラメーター
答え: Jackson は、逆シリアル化中にジェネリック型を処理する TypeReference クラスを提供します。使用するには:
ジェネリック クラスの TypeReference オブジェクトを作成します。この例では、Data
new TypeReference<Data<String>>() {}
TypeReference オブジェクトを readValue メソッドに渡します:
mapper.readValue(jsonString, new TypeReference<Data<String>>() {});
これにより、JSON データが正しく逆シリアル化されます。 Data
以上がJackson を使用して JSON を汎用クラスに逆シリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。