Jersey POJOMappingFeature从JSON中排除null属性

时间:2014-11-26 10:43:24

标签: json jersey-2.0

我使用Jersey Rest API和POJOMappingFeature将对象转换为JSON。

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>com.xxx.rest.api</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>**

我的JSON对象如下所示:

@JsonInclude(JsonInclude.Include.NON_NULL)
public class User{
// Other properties goes here
}

从Jersey REST API返回时,不会忽略空值。这意味着不应用JsonInclude.Include.NON_NULL。

任何想法?

1 个答案:

答案 0 :(得分:0)

@JsonInclude是来自Jackson的注释。 POJOMappingFeature是泽西特色,因此在序列化您的POJO时不会考虑您的杰克逊注释。

您可以使用Jackson JAX-RS Providers。然后,您的REST API将能够使用Jackson将端点返回的对象序列化为JSON。