3

Jackson JSON ライブラリを使用してカスタム デシリアライザー (拡張StdDeserializer) を作成していますが、コンストラクター パラメーターの目的がわかりません。ジャクソンは何のために使用されていますか? Java に具体化されたジェネリックがなく、Jackson がインスタンスを作成しているジェネリック型に関する詳細情報を必要としているからですか?Class<?>JavaType valueType

4

1 に答える 1

2

Jackson は、JSON 構造を Java クラスと照合します。JAXB が Java クラスを XSD-s にマップするように。

したがって、これClass<?>(または JavaType) は、このデシリアライザに属する Java クラスを定義します。これらの Java クラスは、@JsonProperty.

別の質問: なぜこのクラスはジェネリックなのですか? これは[java.lang.Class][1]一般的なためです。正しく実行したい場合は、次のように指定します。

StdDeserializer serializer = new StdDeserializer(YourClass.class);

ポイントは、 は指定できるクラスをStdSerializer 制限しないということです。

于 2016-09-09T08:04:59.560 に答える