我使用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。
任何想法?
答案 0 :(得分:0)
@JsonInclude是来自Jackson的注释。 POJOMappingFeature是泽西特色,因此在序列化您的POJO时不会考虑您的杰克逊注释。
您可以使用Jackson JAX-RS Providers。然后,您的REST API将能够使用Jackson将端点返回的对象序列化为JSON。