【发布时间】:2020-09-03 16:19:09
【问题描述】:
我对 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>
我搜索但我在谷歌上没有找到任何相关信息。 有什么想法吗?
最好的问候,
【问题讨论】:
标签: xml serialization jackson nested xmlmapper