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 fieldOne
boşsa json'dan çıkarılır. fieldTwo
boş 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 fieldOne
ve fieldTwo
sırasıyla boşsa json'dan çıkarılır, çünkü bu sınıf ek açıklaması tarafından ayarlanan varsayılan değerdir. fieldThree
ancak, 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.