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

Jackson XML:嵌套字段反序列化

后易安
2023-03-14

我有以下xml

<MyPojo>
  <name>Jason</name>
  <age>25</age>
  <meta>
    <occupation>Engineer</occupation>
  </meta>
</MyPojo>

我需要将其反序列化为以下POJO:

public class MyPojo {

    private String name;
    private int age;
    private String occupation;
}

这里的问题是职业被包装在元素中

共有2个答案

应安国
2023-03-14

我的想法是用自己的类替换职业。像myMeta或任何你想称呼它的东西(在你的情况下要注意,就像xml说的:meta)。这个类应该包含字段占用:

   public class Meta
   {
       private String occupation;
   }

之后,您只需添加新类的新字段,例如myMetamyPojo。类似于这样:

   public class MyPojo
   {
       private String name;
       private int age;
       private Meta meta;
   }

这应该避免

这个职业包含了元元素

希望有帮助!

爱繁
2023-03-14

您还需要一个对象:

public class MyPojo {

    private String name;
    private int age;
    private Meta meta;
}

public class Meta{
    private String occupation;
}
 类似资料:
  • 问题内容: 将对象反序列化为()时,嵌套对象反序列化为s。是否可以强制将嵌套对象反序列化为s? 问题答案: 我找到了一种通过提供实现将所有嵌套对象转换为的方法: 文档: Json.NET的CustomCreationConverter

  • 我知道我可以创建一个单独的Report类,然后使用@JSONProperty将其嵌入到ReportResponse中。有没有一种方法可以避免这种情况,并用一个注释标记ReportResponse类,将它映射到JSON中的“Report”元素?

  • 我正在创建一个具有嵌套列表的API。Jackson似乎是一个创建对象的好工具,但我不太清楚如何嵌套列表,我想知道这是否可能。 我的对象看起来像这样。 我希望有一种方法可以将其映射到json,看起来像: 我们希望能够做到这一点,以便我们可以将属性添加到列表中。

  • 我将Elasticsearch 6与PHP结合使用。 我的文档有一个嵌套字段,如下所示: 基本上每个文档都有很多价格,但我知道每个文档只有一个价格与过滤器/查询匹配。 我用它来搜索和排序,改编自这里的教程:https://www.elastic.co/guide/en/elasticsearch/guide/current/nested-sorting.html(对PHP数组格式表示抱歉): 我得

  • 问题内容: 在我当前的项目中,我在android中使用GSON库,并且遇到了嵌套地图反序列化的问题。这就是初始json的样子 而我的pojo的 和花类 但是当我尝试反序列化此对象时,我可以访问嵌套的哈希图,示例代码为 有什么建议? 问题答案: 这告诉Gson您想反序列化为未知值类型的Map。您可能会想指定类似的东西,但是您无法在Java中进行指定,因此解决方案是使用他们在Gson中称为TypeTo

  • 考虑: 如果我们序列化Foo(),输出是: 我想要: 最干净的方法是什么?