你好,我需要配置fastxml.Jackson序列化程序作爲默認的JAXB序列化程序工作。傑克遜XML序列化XMLElementRef名稱
我有以下的情況下,兩個類:
@XmlRootElement(name = "elA")
public class A {
@XmlElementRef
public Collection<B> getBs() {
return this.bs;
}
}
@XmlRootElement(name = "elB")
public class B {
}
我的對象映射器的配置是這樣的:
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傑克遜串行產生以下XML
<elA>
<elB></elB>
<elB></elB>
</elA>
但我得到這個:
<A>
<bs></bs>
<bs></bs>
</A>
我該如何配置Object Mapper才能獲得預期的結果?謝謝。
我不能更改類和註解,因爲這是框架的一部分。
我能影響的唯一東西是ObjectMapper和Jackson配置。
我有一個框架與類A和B和相應的註釋。我既不能改變課程,也不能改變他們的註釋。我需要配置ObjectMapper或jackson配置,它可以像JAXB一樣識別註釋。 – Michael