2012-02-02 29 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. 

tham chiếu đến mã tôi có 3 trường nhưng không sử dụng trường giá trị rỗng. Về cơ bản tôi không muốn bao gồm trường có giá trị null.Jackson: Có điều kiện chọn các trường

Có bất kỳ chú thích được sử dụng để làm cho nó thực hiện

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; 
    } 

} 

Trả lời

10

Hãy thử JSON Views Xem this hoặc this. Hoặc để biết thêm các tính năng lọc, hãy xem this blog entry (Bộ lọc Json chẳng hạn).

5

Đây chính xác là chú thích @JsonInclude trong Jackson2 và @JsonSerialize ở Jackson.

Nếu bạn muốn một thuộc tính chỉ hiển thị khi nó không bằng null, hãy thêm @JsonInclude(Include.NON_NULL) resp. @JsonSerialize(include=Include.NON_NULL).

Các vấn đề liên quan