我正在使用Jackson的XML绑定将XML转换为Java List,通过初始映射到Java POJO。我写的东西有效,但我认为我没有正确使用杰克逊。
我对这个丑陋的XML感到困惑:
<groups>
<groups>One</groups>
<groups>Two</groups>
<groups>Three</groups>
</groups>
这是我正在使用的Java POJO。请注意,setGroups(String)
方法实际上已添加到列表中。
public class Groups {
private List<String> groups = new ArrayList<String>();
public void setGroups(String group) {
groups.add(group);
}
public List<String> getGroups() {
return this.groups;
}
}
以下是我调用Jackson的XmlMapper的方法。
public List<String> getListOfGroups(String xmlDoc) {
XmlMapper mapper = new XmlMapper();
Groups groups = mapper.readValue(xmlDoc, Groups.class);
return groups.getGroups();
}
这实际上是因为我需要它才能工作。我得到一个Groups类,其中列表填充了我期望的元素。我在想,方法是否正确?我不喜欢我有一个setter做一个添加,但我尝试过的一切都没有用。
答案 0 :(得分:1)
你的POJO可能很简单:
public class Groups {
private List<String> groups;
public List<String> getGroups() {
return this.groups;
}
}
由于您使用MapperFeature.USE_GETTERS_AS_SETTERS(默认情况下已启用),因此可以正常工作。