0

Jackson 1.9.2 を使用するレガシー コードを継承しており、Jackson 2.x にアップグレードしたいと考えています。争点の1つは次のとおりです。

class CustomObjectMapper extends ObjectMapper {
    CustomObjectMapper(KeySerializer keySerializer) {
        // StdSerializerProvider doesn't exist in Jackson 2.x
        final StdSerializerProvider sp = new StdSerializerProvider();
        sp.setNullValueSerializer(new NullSerializer());
        sp.setDefaultKeySerializer(keySerializer);
        setSerializerProvider(sp);
    }
}

私が抱えている問題はStdSerializerProvider 、Jackson 1.9.xには存在するが、Jackson 2.x には存在しないことです。既存の動作を保持する同等のクラスはありますか? それとも交換が必要ですか?

4

1 に答える 1

3

DefaultSerializerProviderは、探しているものでなければなりません。これと Jackson 1.x の StdSerializerProvider の両方が SerializerProvider のサブクラスであることに注意してください。彼らはまた、非常によく似た方法を持っています。

StdSerializerProvider は具象クラスですが、DefaultSerializerProvider は抽象クラスであることに注意してください。ただし、新しい DefaultSerializerProvider.Impl を作成して具象クラスを作成できます。

于 2016-09-06T21:53:51.567 に答える