gpt4 book ai didi

java - 使用 Jackson XML 绑定(bind)将列表映射到 Pojo

转载 作者:太空宇宙 更新时间:2023-11-04 07:09:18 26 4
gpt4 key购买 nike

我正在使用 Jackson 的 XML 绑定(bind),通过到 Java POJO 的初始映射将 XML 转换为 Java 列表。我写的内容有效,但我认为我没有正确使用 Jackson。

我被这个丑陋的 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 执行添加操作,但我尝试过的所有方法都不起作用。

最佳答案

您的 POJO 可以像这样简单:

public class Groups {
private List<String> groups;

public List<String> getGroups() {
return this.groups;
}
}

它会正常工作,因为您使用 MapperFeature.USE_GETTERS_AS_SETTERS (默认启用)。

关于java - 使用 Jackson XML 绑定(bind)将列表映射到 Pojo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20892002/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com