我继承了一些使用 Jackson 1.9.2 的遗留代码,并希望将其升级到 Jackson 2.x。争论的焦点如下:
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
exists in Jackson 1.9.x ,但在 Jackson 2.x 中则不然。是否有一个等效的类可以保留现有的行为?或者根本有必要更换吗?
最佳答案
DefaultSerializerProvider一定是您要找的。请注意,它们和 Jackson 1.x 的 StdSerializerProvider 都是 SerializerProvider 的子类。他们也有非常相似的方法。
请注意,StdSerializerProvider 是具体类,而 DefaultSerializerProvider 是抽象类。但是,您可以创建一个新的 DefaultSerializerProvider.Impl 来创建具体的类。
关于java - Jackson 2 是否有相当于 Jackson 1 的 StdSerializerProvider 的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39358125/