【问题标题】:Exclude empty fields from jaxb marshalling从 jaxb 编组中排除空字段
【发布时间】:2012-07-24 20:11:44
【问题描述】:

我有一个 POJO,我想将其编组并作为 xml 发送,但也可以解组从同一 Web 服务返回的数据。但是,这个 POJO 中有某些字段,我不想发送,但可能在服务器返回的 xml 中。

这里的问题是,如果我有一个名为 status 的 int 字段,而我实际上并没有为这个字段设置任何值(因为我不想将此字段发送到服务器),JAXB 仍然会创建一个 0 元素在xml中。

所以我的问题是:我怎样才能防止这种行为,并简单地省略该字段,但仍然能够读取从服务器返回的元素的值?

亲切的问候。

【问题讨论】:

  • 使用Integer 而不是int,然后JAXB 将省略空值。
  • 谢谢你,实际上工作得很好

标签: jaxb marshalling unmarshalling


【解决方案1】:

重复我的评论作为答案...

由于int 不能表示“无价值”,您可以改用Integer。如果这是null,那么 JAXB 将在编组时省略该字段。

【讨论】:

    【解决方案2】:

    使用 JAXB 整数将被转换为 0(非空)。

    【讨论】:

      猜你喜欢
      • 2012-06-10
      • 2012-06-13
      • 2010-10-25
      • 1970-01-01
      • 2012-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多