当前位置: 首页 > 知识库问答 >
问题:

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

元鸿波
2023-03-14

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

<groups>
  <groups>One</groups>
  <groups>Two</groups>
  <groups>Three</groups>
</groups>
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;
   }
}
public List<String> getListOfGroups(String xmlDoc) {
   XmlMapper mapper = new XmlMapper();
   Groups groups = mapper.readValue(xmlDoc, Groups.class);
   return groups.getGroups();
}

这实际上是工作,因为我需要它的工作。我得到了一个Groups类,其中有一个用我期望的元素填充的列表。我在想,方法是正确的吗?我不喜欢我有一个二传手做一个添加,但我所尝试的一切都不起作用。

共有1个答案

刘乐童
2023-03-14

您的POJO可以像这样简单:

public class Groups {
    private List<String> groups;

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

它将很好地工作,因为您使用了mapperfeature.use_getters_as_setters(默认情况下启用)。

 类似资料:
  • 它似乎试图访问该控制器上的值,而我正在尝试将值发送到该控制器,并尝试使用选定的值创建相同的对象 有谁能告诉我,我哪里做错了,我需要注意什么 编辑 我不确定我做错了哪件事,似乎是我的JSTL表达式不对

  • 错误: 我希望在列表中映射相同的字段名,而不需要另一个单独的方法,就像在另一个项目中使用旧的版本时一样。

  • 当我尝试将一个名为someKPIObject对象的KPI实例添加到Mongodb时,使用 我得到以下错误: 警告:参数化类型被视为非类型化对象。请参见类KPI org.mongodb.morphia.mapping.mapping.mapping.mapping.mapper.todbobject(mapper.java:984)在org.mongodb.morphia.mapping.mappe

  • ...但我得到: 我不知道如何应用这些信息。首先,我认为我需要为列表声明一些额外的映射(在同一个映射器类中),所以MapStruct知道如何像这样映射列表类型的每个字段: ...但我收到错误消息

  • 下面是我的DTO。 源DTO 目标DTO

  • 问题内容: 我们有一张有很多列的大桌子。移至MySQL Cluster后,由于以下原因无法创建表: 错误1118(42000):行大小太大。不包括BLOB在内的已使用表类型的最大行大小为14000。这包括存储开销,请查阅手册。您必须将某些列更改为TEXT或BLOB 举个例子: 这是用于存储配置参数的表。我在想,我们可以将一些列合并为一个列,并将其存储为JSON对象,然后将其转换为Java对象。 例