泽西将JSON解组为JAXB时的空闲处理?

时间:2012-11-20 20:45:31

标签: jaxb jersey jackson

泽西岛似乎有一组JSON空值的预定默认值,同时通过JAXB进行解组:String => “”,整数=> 0,...无论如何都可以通过配置或注释轻松控制这些值吗?

使用Jersey的POJO映射我得到了我想要的东西,即将JSON null映射到Java null,但由于其他原因,我们确实需要使用JAXB。

看起来这应该很简单,但我正在画一个空白。

感谢。

1 个答案:

答案 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
}

了解更多信息

泽西整合