1

我正在使用 Jackson 的 XML 绑定通过初始映射到 Java POJO 将 XML 转换为 Java 列表。我所写的作品,但我认为我没有正确使用杰克逊。

我被这个丑陋的 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 类,其中包含一个填充了我期望的元素的列表。我想知道,方法是否正确?我不喜欢我有一个二传手做一个添加,但我尝试过的一切都没有奏效。

4

1 回答 1

1

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

public class Groups {
    private List<String> groups;

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

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

于 2014-12-05T22:41:48.943 回答