2012-07-23 21 views
9

Başka bir basit POJO sınıfını genişleten basit bir POJO sınıfım var. Bu POJO sınıflarındaki özellikleri JSON'a kopyalamak için com.sun.jersey.json.impl.provider.entity.JacksonProviderProxy kullanıyorum. Ancak, bazı özellikleri POJO'ya null olarak ayarladığımda, bu özellikleri hiçbir çıktı vermemek yerine null dizesi olarak çıkarır. Örneğin,JacksonProviderProxy, json çıkışında boş değerleri yazıyor

. eg

: yerine

{ 
    Person: 
    [{ 
     "firstName":"John" 
     "lastName":"null" 
    }] 
} 

.

{ 
    Person: 
    [{ 
     "firstName":"John" 
    }] 
} 
+0

Bunu bir web uygulamasında yapmaya çalışıyorum. Dolayısıyla, bir web uygulamasında bunu nasıl güvence altına alacağınıza dair herhangi bir işaretçi harika olurdu. –

cevap

18

farklı seçenekler kullanımda Jackson sürümüne bağlı olarak boş değerlere sahip özelliklerinin seri bastırmak için kullanılabilir ve ObjectMapper ister doğrudan doğruya yapılandırılabilir.

ObjectMapper'u yapılandırmak için doğrudan erişim ile Jackson 1.1+ ile setSerializationInclusion (Include.NON_NULL) numaralı telefonu arayabilirsiniz.

Alternatif olarak, boş özellikleri seri @JsonSerialize (include=Inclusion.NON_NULL) ile bastırılır, edilecek olan özelliklere sahip (sınıf) türü, açıklama olabilir.

@JsonSerialize ek açıklaması yerine, Jackson 2+ ile @JsonInclude (Include.NON_NULL) kullanın.

İlgili konular