2012-02-02 11 views
7
I have a scenario where i need to use the payload as 

{"authType":"PDS"} 
or 
{"authType":"xyz","authType2":"abc",} 
or 
{"authType":"xyz","authType2":"abc","authType3":"123"} 
or 
any combination except for null values. 

コードを参照すると、3つのフィールドがありますが、null値フィールドのみが使用されます。 基本的には、null値を持つフィールドを含めることは望ましくありません。Jackson:条件付きでフィールドを選択する

は、それが

public class AuthJSONRequest { 

    private String authType; 
    private String authType2; 
    private String authType3; 

    public String getAuthType() { 
     return authType; 
    } 

    public void setAuthType(String authType) { 
     this.authType = authType; 
    } 

    public String getAuthType2() { 
     return authType2; 
    } 

    public void setAuthType2(String authType2) { 
     this.authType2 = authType2; 
    } 
     public String getAuthType3() { 
     return authType3; 
    } 

    public void setAuthType3(String authType3) { 
     this.authType3 = authType3; 
    } 

} 

答えて

10

を成し遂げるために使用される任意の注釈はJSONビューを試してみてはありますか? thisまたはthisを参照してください。より多くのフィルタ機能については、this blog entry(Json Filtersなど)を参照してください。

5

これは、ジャクソン2の注釈@JsonIncludeとジャクソンの@JsonSerializeが意味するものです。

nullと等しくない場合にのみプロパティを表示する場合は、@JsonInclude(Include.NON_NULL) respを追加します。 @JsonSerialize(include=Include.NON_NULL)

関連する問題