我有一个简单的类来发出count和db游标信息。
public class Cursor
{
public String cursor = null;
public int count = -1;
}
我不希望发送计数和光标(序列化时),如果它们是null或-1,默认设置。
研究,我发现我应该使用一个视图,但我无法弄清楚如何使用它和视图实现来避免默认值。
此课程不需要反序列化。
感谢。
答案 0 :(得分:0)
如果您使用Jackson
,则可以提供
@JsonInclude(Include.NON_NULL)
public class Cursor
{
public String cursor = null;
public Integer count = null;
}
当您给-1指定该字段的值时,我已将int
更改为Integer
。
您也可以查看此post。
答案 1 :(得分:0)
如果您使用的是2.x,则上述答案是最好的。使用JSONInclude批注。
但是,如果您使用较小的版本,我不相信有任何注释。我们必须自定义ObjectMapper。
public ObjectMapperProvider()
{
mapper = new ObjectMapper();
mapper.configure(SerializationConfig.Feature.WRITE_NULL_PROPERTIES,
false);
mapper.configure(SerializationConfig.Feature.WRITE_NULL_MAP_VALUES,
false);
}
在Web.xml中
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.your.package; org.codehaus.jackson.jaxrs</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
com.your.package应包含新的自定义objectmapper类。