我有一个简单的类来给出计数和数据库游标信息。
public class Cursor
{
public String cursor = null;
public int count = -1;
}
如果默认设置为 null 或 -1,我不希望发送计数和光标(在序列化时)。
研究时,我发现我应该使用视图,但我无法弄清楚如何使用它以及视图实现以避免默认值。
此类不需要反序列化。
谢谢。
如果你使用Jackson
你可以给
@JsonInclude(Include.NON_NULL)
public class Cursor
{
public String cursor = null;
public Integer count = null;
}
当您为该字段提供-1 值时,我已将其更改int
为。
你也可以查看这篇文章。Integer
如果您使用的是 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 类。