0

我有一个简单的类来给出计数和数据库游标信息。

public class Cursor
{
    public String cursor = null;
    public int count = -1;
}

如果默认设置为 null 或 -1,我不希望发送计数和光标(在序列化时)。

研究时,我发现我应该使用视图,但我无法弄清楚如何使用它以及视图实现以避免默认值。

此类不需要反序列化。

谢谢。

4

2 回答 2

0

如果你使用Jackson你可以给

@JsonInclude(Include.NON_NULL) 
public class Cursor
{
     public String cursor = null;
     public Integer count = null;
}

当您为该字段提供-1 值时,我已将其更改int为。 你也可以查看这篇文章Integer

于 2012-09-25T12:03:33.893 回答
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 类。

于 2012-09-26T03:44:23.153 回答