2012-08-28 23 views
16

Tôi thường sử dụng objectMapper.setSerializationInclusion (JsonSerialize.Inclusion.NON_NULL) vì tôi không bao giờ muốn các giá trị null của các lớp của tôi được tuần tự hóa. Ngoại trừ bây giờ tôi có một lĩnh vực cụ thể nên được viết ra, ngay cả khi nó là null. Có chú thích nhanh nào tôi có thể đặt trên trường này ghi đè thuộc tính Bao gồm.NON_NULL cho trường đó không? Cách tốt để đạt được điều này là gì?Jackson sử dụng JsonSerialize.Inclusion.NON_NULL ngoại trừ một lớp

Trả lời

25

Với Jackson 1.x bạn có thể sử dụng @JsonSerialize(include=Include.ALWAYS) và với Jackson 2.x bạn có thể sử dụng @JsonInclude(Include.ALWAYS). Các chú thích này sẽ ghi đè cấu hình mặc định từ ObjectMapper của bạn.

+0

bạn có thể vui lòng đề cập đến Jackson tên 2.x jar và gói @JsonSerialize. –

+4

Công cụ Jackson 1.x nằm trong gói org.codehaus.jackson và 2.x dưới com.fasterxml.jackson –

2

Với Jackson 1.9 được sử dụng @JsonSerialize(include= JsonSerialize.Inclusion.ALWAYS)

@JsonSerialize(include=Include.ALWAYS) không biên dịch.

10

@ user1433372, JsonInclude là chú thích chỉ dành cho Jackson 2.x.

ở Jackson 1,9

@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY) 

là như nhau ở Jackson 2.x như

@JsonInclude(JsonInclude.Include.NON_EMPTY) 
Các vấn đề liên quan