我有对象链接有List的成员而Link只有属性但是列表的解析有问题 - 它被创建为空。
在下面的测试中,links.getLinks()
返回空列表。任何想法?
XML示例:
<links>
<link x="1" y="2" />
<link x="3" y="4" />
</links>
Java
@JacksonXmlRootElement(localName="links")
public class Links extends BaseAmebaElement {
@JacksonXmlProperty(localName="link")
//@JacksonXmlElementWrapper(localName="link")
private Collection<Link> links;
public Collection<Link> getLinks() {
return links;
}
public void setLinks(Collection<Link> links) {
this.links = links;
}
}
...
@JacksonXmlRootElement(localName="link")
public class Link {
@JacksonXmlProperty(localName="x", isAttribute=true)
private String href;
@JacksonXmlProperty(localName="y", isAttribute=true)
private String rel;
...
XmlMapper xmlMapper = new XmlMapper ();
try {
Links links = xmlMapper.readValue(input, Links.class);
assertNotNull(links);
assertNotNull(links.getLinks());
assertEquals(2, links.getLinks().size());
} catch (Throwable e) {
fail(e.getMessage());
}
答案 0 :(得分:5)
我可以在一些变化后得到结果。但是,它可以获得第一行(它为空)。我不知道为什么。
@JacksonXmlElementWrapper(useWrapping=false)
@JacksonXmlProperty(localName="link")
private Collection<Link> links;
更新: 这应该是2.1.4版中的错误。我刚试过master,这很好用。