tic*_*fab 5 annotations jaxb xml-attribute jackson
我对JAXB/Jackson编组有一个问题.我有这样的注释
@XmlAttribute(name = "private")
protected Boolean mPrivate;
Run Code Online (Sandbox Code Playgroud)
如果mPrivate变量是,我希望这个属性不存在null.
如果输出是XML,这可以正常工作.但如果我使用杰克逊切换到JSON,输出就是
xxxxxxx, "private":null, xxxxxxxx
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么会发生这种情况以及如何解决这个问题?提前致谢.
Jackson与JAXB注释兼容.因此,JAXB不支持XmlAttributes的默认值,因为当序列化为XML时,如果value为null,则默认行为是将它们保留为out .
有几个选项可以实现JSON.
您可以使用@JsonSerialize注释您的POJO(include = JsonSerialize.Inclusion.NON_NULL)
您可以设置ObjectMapper的默认行为,以从序列化中排除空值.您这样做是通过调用:
setSerializationInclusion(Inclusion.NON_NULL);
...在ObjectMapper实例上.
| 归档时间: |
|
| 查看次数: |
1304 次 |
| 最近记录: |