【问题标题】:Jackson XML: nested field deserializationJackson XML:嵌套字段反序列化
【发布时间】:2016-02-13 21:36:51
【问题描述】:

我有以下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;
}

这里的问题是occupation 被包裹在meta 元素中

【问题讨论】:

  • 你需要创建类元。因为你必须有现场职业。

标签: java xml jackson


【解决方案1】:

你还需要一个对象:

public class MyPojo {

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

public class Meta{
    private String occupation;
}

【讨论】:

  • 这是唯一的方法吗?
  • @user1745356 我知道是的
【解决方案2】:

我的想法是用自己的类替换occupation。像 myMeta 之类的东西或任何你想叫它的东西(在你的情况下要注意,就像 xml 说的那样:meta)。此类应包含字段职业:

   public class Meta
   {
       private String occupation;
   }

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

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

这应该避免

该职业包含在元元素中

希望有帮助!

【讨论】:

    猜你喜欢
    • 2019-10-21
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 2016-10-23
    • 1970-01-01
    • 2020-01-29
    • 2023-03-17
    • 2015-04-24
    相关资源
    最近更新 更多