泽西岛似乎有一组JSON空值的预定默认值,同时通过JAXB进行解组:String => “”,整数=> 0,...无论如何都可以通过配置或注释轻松控制这些值吗?
使用Jersey的POJO映射我得到了我想要的东西,即将JSON null映射到Java null,但由于其他原因,我们确实需要使用JAXB。
看起来这应该很简单,但我正在画一个空白。
感谢。
答案 0 :(得分:0)
注意:我是EclipseLink JAXB (MOXy)潜在客户和JAXB (JSR-222)专家组的成员。
JAXB(JSR-222)规范没有涵盖JSON绑定,所以您遇到的是Jersey代码与JAXB参考实现交互,产生一些奇怪的结果和null处理。 EclipseLink MOXy是一个符合JAXB的实现,同样offers JSON binding具有更自然的空值处理。
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Customer {
private String firstName;
@XmlElement(nillable=true)
private String lastName;
}
如果这是编组到JSON,结果将如下。除非使用@XmlElement(nillable=true)
注释,否则空值不会编组为JSON:
{
lastName: null
}
了解更多信息
泽西整合