Sadece diğer cevapları genişletmek için - alan başına boş değerlerin atlanmasını kontrol etmeniz gerekiyorsa, söz konusu alana açıklama ekleyin (veya alternatif olarak alanın 'alıcısına' açıklama ekleyin).
örnek - burada sadece fieldOneboşsa json'dan çıkarılır. fieldTwoboş olup olmadığına bakılmaksızın her zaman dahil edilecektir.
public class Foo {
@JsonInclude(JsonInclude.Include.NON_NULL)
private String fieldOne;
private String fieldTwo;
}
Sınıftaki tüm boş değerleri varsayılan olarak atlamak için sınıfa açıklama ekleyin. Gerekirse bu varsayılanı geçersiz kılmak için alan başına / alıcı ek açıklamaları kullanılabilir.
örnek - burada fieldOneve fieldTwosırasıyla boşsa json'dan çıkarılır, çünkü bu sınıf ek açıklaması tarafından ayarlanan varsayılan değerdir. fieldThreeancak, alandaki ek açıklama nedeniyle varsayılanı geçersiz kılar ve her zaman dahil edilir.
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Foo {
private String fieldOne;
private String fieldTwo;
@JsonInclude(JsonInclude.Include.ALWAYS)
private String fieldThree;
}
GÜNCELLEME
Yukarıdaki Jackson 2 içindir . İçin önceki sürümleri Jackson sen kullanımına gerekir:
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
onun yerine
@JsonInclude(JsonInclude.Include.NON_NULL)
Bu güncelleme faydalıysa, lütfen aşağıdaki ZiglioUK'un cevabını onaylayın, kullanmak için cevabımı güncellemeden çok daha önce yeni Jackson 2 ek açıklamasına dikkat çekti!
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL):; bir şekilde ek açıklamanız mevcut değildi.