0

Jackson 1.x から 2.x にアップグレードしようとしています。

私が問題を抱えている領域の 1 つは、次のようなカスタム DeserializerFactory を使用していた場所です。

objectMapper.setDeserializerProvider(objectMapper.getDeserializerProvider()
                                                   .withFactory(myFactory));

setDeserializerProvider は現在、Jackson2 ではなくなりました (ただし、setSerializerProvider はまだ存在します)。SimpleModule の使用を検討していましたが、必要なものもありません。

これは2でどのように機能するはずですか?

更新:工場である必要があることを強調する必要があると感じています。デシリアライザーを登録するだけではありません。

カスタム ファクトリは、次のようにデシリアライザーに情報を渡します。

if (CollectionPage.class.equals(type.getRawClass())) {
        final JsonDeserializer<Object> contentDeserializer = type.getContentType().getValueHandler();
        return new MyCollectionDeserializer(type, contentDeserializer);
    }

その値 (contentDeserializer) は、異なる型を含むコレクションの実行時に異なります。

4

0 に答える 0