繁体   English   中英

使用Jackson XML绑定将列表映射到Pojo

[英]Using Jackson XML binding to map lists to Pojo

我正在使用Jackson的XML绑定,通过初始映射到Java POJO将XML转换为Java List。 我所写的作品,但我认为我没有正确使用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类,其中包含一个填充了我期望的元素的列表。 我想知道,方法正确吗? 我不喜欢让二传手进行加法操作,但我尝试过的所有方法均无效。

您的POJO可能很简单,如下所示:

public class Groups {
    private List<String> groups;

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

由于您使用了MapperFeature.USE_GETTERS_AS_SETTERS (默认启用),因此可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM