java - Jackson 2 是否有相当于 Jackson 1 的 StdSerializerProvider 的?

标签 java jackson jackson2

我继承了一些使用 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/

相关文章:

java - 哪个 weblogic jar 文件包含 com.bea.logging.BaseLogRecord?

java - Java Bean 可以包含一个或多个参数化构造函数吗?

java - 如何在两个数字之间生成随机值

json - Spring API 应该返回 JSON 而不是转义字符串

java - Spring Redis JSON序列化器嵌入引用字段

java - jackson : Inheritance and required attributes

java - 格式编号 : how to add 2 decimal digits at the back of numbers?

java - Jersey 序列化/反序列化问题 : abstract types can only be instantiated with additional type information

json - 使用 java.util.Set 时的 Jackson bug(或功能!?) - mySet.size() 始终为 1

serialization - Wildfly14 : not all fields are returned