java - 如何根据要序列化的字段将 jackson 配置为使用 JaxbAnnotationIntrospector 或 JacksonAnnotationIntrospector

标签 java jackson jackson-databind

我有一个包装类 WrapperClass,它封装了两个对象:ObjectOneObjectTwo:

public class WrapperClass {
  ObjectOne objectOne;
  ObjectTwo objectTwo;
}

序列化 WrapperClass 实例时,我想在 objectTwo 上使用 JaxbAnnotationIntrospector,但不在 objectOne 上使用。这可能吗?

我研究了创建一个自定义注释内省(introspection)器,它扩展了 JacksonAnnotationIntrospector 并重写其 findSerializer() 方法来选择 JAXB 的 findSerializer() if类类型是ObjectTwo.class。这行得通吗?

谢谢。

最佳答案

正如我在其他评论中提到的。我想要实现的目标目前尚未得到 jackson 自由库的正式支持。正确委托(delegate)内省(introspection)的自定义 AnnotationIntrospectorPair 是解决此问题的一个想法。我将来会更多地研究这个问题。

关于java - 如何根据要序列化的字段将 jackson 配置为使用 JaxbAnnotationIntrospector 或 JacksonAnnotationIntrospector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58295001/

相关文章:

java - jackson 冲突的属性(property)和 setter/getter 定义

java.lang.NoClassDefFoundError : com/google/api/client/json/JsonFactory issue

java - 使用 Jackson 将 JSON 映射到 POJO

java - Jackson反序列化错误: MismatchedInputException

java - mybatis中的hashmap结果图

java - ConcurrentModificationException 和 Stream API

java - 复杂的 json 到 pojo

java - Jackson,反序列化嵌套对象

java - "Condition is always ' 真 '"和 "Array index is out of bounds"警告

java - Selenium WebDriverWait - 无法单击按钮