我使用JAXB从XSD生成POJO。我使用Jersey / Jackson将POJO序列化为JSON。对于整个项目,我创建了一个设置Inclusion.NON_NULL
的ObjectMapper。但对于一个特定的序列化类,我想包含空值。我知道,我必须在POJO上使用Inclusion.ALWAYS
来覆盖ObjectMapper,但是我使用的POJO是从XSD生成的。
有没有办法在编组期间将杰克逊的注释@JsonSerialize(include=Inclusion.ALWAYS)
添加到该特定的POJO?
答案 0 :(得分:3)
如果您只想添加一个注释,请考虑使用我的JAXB2 Annotate Plugin。例如,请参阅this example,特别是this bindings file。
在您的情况下,绑定看起来像:
<jaxb:bindings node="xs:complexType[@name='myPOJO']">
<annox:annotate>
@org.codehaus.jackson.map.annotate.JsonSerialize
(include=org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion.ALWAYS)
</annox:annotate>
</jaxb:bindings>
(未经测试,只是草图。)
几点提示:
SO免责声明:我是上述插件的作者。