我对 Jackson 序列化嵌套对象有疑问。
@Data
@AllArgsConstructor
@NoArgsConstructor
@JacksonXmlRootElement(localName = "A")
public class A {
@JacksonXmlProperty(isAttribute = true)
private String Iee;
@JacksonXmlProperty(localName = "B")
private B b;
}
@Data
@AllArgsConstructor
@JacksonXmlRootElement(localName = "B")
public class B {
@JacksonXmlProperty(isAttribute = true)
private String Jee;
}
当我序列化这样创建的对象 A 时:
final B b = new B("attribute B value");
final A a = new A("attribute A value", b);
final XmlMapper xmlMapper = new XmlMapper();
final String xml = xmlMapper.writeValueAsString(a);
我想要这个结果:
<A Iee="attribute A value">
<B Jee="attribute B value" />
</A>
但我得到了这个:
<A Iee="attribute A value">
<B Jee="attribute B value">
<Jee>attribute B value</Jee>
</B>
</A>
我搜索但我没有在谷歌上找到任何关于此的内容。任何想法 ?
此致,