0

countとdbカーソル情報を提供するための簡単なクラスがあります。

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

デフォルトで設定されているnullまたは-1の場合、(シリアル化中に)カウントとカーソルを送信したくありません。

調べてみると、ビューを使用する必要があることがわかりましたが、デフォルト値を回避するためのビューの使用方法とビューの実装がわかりません。

このクラスでは、逆シリアル化は必要ありません。

ありがとう。

4

2 に答える 2

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 に答える
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 に答える