从jaxb编组中排除空字段

时间:2012-05-12 10:18:26

标签: jaxb marshalling unmarshalling

我有一个POJO,我想要编组并以xml格式发送,但也要解组从同一个Web服务返回的数据。但是,此POJO中有某些字段,我不想发送,但可能是从服务器返回的xml中。

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

所以我的问题是:我如何防止这种行为,只是省略该字段,但仍然能够读取从服务器返回的元素的值?

亲切的问候。

2 个答案:

答案 0 :(得分:6)

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

由于int无法代表“无价值”,因此您可以使用Integer。如果这是null,则JAXB将在编组时省略该字段。

答案 1 :(得分:-1)

使用JAXB Integer将转换为0(非空)。