Здравствуйте, мне нужно настроить сериализатор fastxml.Jackson, чтобы он работал точно так же, как сериализатор JAXB по умолчанию.
У меня есть следующий случай с двумя классами:
@XmlRootElement(name = "elA")
public class A {
@XmlElementRef
public Collection<B> getBs() {
return this.bs;
}
}
@XmlRootElement(name = "elB")
public class B {
}
Моя конфигурация Object Mapper выглядит так:
XmlMapper objectMapper = new XmlMapper();
JaxbAnnotationModule jaxbAnnotationModule = new JaxbAnnotationModule();
objectMapper.registerModule(jaxbAnnotationModule);
objectMapper.setDefaultUseWrapper(false);
objectMapper.configure(SerializationFeature.INDENT_OUTPUT,true);
objectMapper.configure(SerializationFeature.WRAP_ROOT_VALUE,false);
objectMapper.configure(SerializationFeature.CLOSE_CLOSEABLE, true);
objectMapper.setSerializationInclusion(Include.NON_ABSENT);
JaxbAnnotationIntrospector jaxbAnnotationIntrospector = new XmlJaxbAnnotationIntrospector(objectMapper.getTypeFactory());
objectMapper.setAnnotationIntrospector(jaxbAnnotationIntrospector);
Мне нужно настроить ObjectMapper для сериализатора Jackson для создания следующего XML
<elA>
<elB></elB>
<elB></elB>
</elA>
Но я получаю это:
<A>
<bs></bs>
<bs></bs>
</A>
Как мне настроить Object Mapper, чтобы получить ожидаемый результат? Спасибо.
Я не могу изменить ни классы, ни аннотации, так как это часть фреймворка.
Единственное, на что я могу повлиять, это конфигурации ObjectMapper и Jackson.