2012-07-23 23 views
9

Mam prostą klasę POJO, która rozszerza kolejną prostą klasę POJO. Używam com.sun.jersey.json.impl.provider.entity.JacksonProviderProxy do przekazywania właściwości w tych klasach POJO do JSON. Jednak, gdy ustawię niektóre właściwości na POJO jako null, to wyprowadza te właściwości jako ciąg null zamiast nie wypuszczać go w ogóle.JacksonProviderProxy wypisywanie wartości pustych w wyjściu json

dla np.

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

zamiast:

EG. dostępne dla serializacji właściwości tłumienia o wartości null, w zależności od wersji Jacksona w użyciu są

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

Próbuję to zrobić w aplikacji internetowej. Więc wszelkie wskazówki dotyczące tego, jak je zawrzeć w aplikacji internetowej, będą świetne. –

Odpowiedz

18

różne opcje, oraz czy ObjectMapper można bezpośrednio skonfigurowany.

Z Jacksonem 1.1+, z bezpośrednim dostępem do konfiguracji ObjectMapper, możesz po prostu zadzwonić pod numer setSerializationInclusion (Include.NON_NULL).

Alternatywnie, można adnotacje (klasa) typ, który ma właściwości, o których właściwości zerowe serializacji ma być stłumione, z @JsonSerialize (include=Inclusion.NON_NULL).

W przypadku Jackson 2+ zamiast adnotacji @JsonSerialize należy użyć @JsonInclude (Include.NON_NULL).

Powiązane problemy