Jersey通过JAXB解组JSON时的Null处理


当通过JAXB:String=>",Integer=>0。。。是否有任何方法可以通过配置或注释轻松控制这些值?

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

看起来这应该很简单,但我还是一片空白。

谢谢。

注意:我是EclipseLink JAXB(MOXy)的负责人,也是

JAXB(JSR-222)JAXB(JSR-222)规范不包括JSON绑定,因此您所经历的是Jersey代码与JAXB引用实现的交互,从而产生一些奇怪的wrt-null处理结果。EclipseLinkMOXy是一个符合JAXB的实现,它还提供了具有更自然的null处理的JSON绑定。

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Customer {
private String firstName;
@XmlElement(nillable=true) 
private String lastName;
}

如果将其整理为JSON,则结果如下。除非使用@XmlElement(nillable=true):进行注释,否则不会将空值编组为JSON

{
lastName: null
}

有关更多信息

  • http://blog.bdoughan.com/2012/04/binding-to-json-xml-handling-null.html

泽西岛集成

  • http://blog.bdoughan.com/2012/05/moxy-as-your-jax-rs-json-provider.html
  • https://github.com/jersey/jersey/tree/master/examples/json-moxy

最新更新