2017-05-17 3 views
2

나는 @JsonInclude to ignore null values과 같은 질문을 읽었습니다. 이것은 엔티티 내의 일반 필드에 대해서는 나에게 적합하지만 컬렉션에는 적합하지 않습니다. 엔티티 내에서 빈 콜렉션의 경우, Json 직렬화는 널 값을 제공합니다.직렬화 중에 빈 콜렉션 무시

컬렉션에 대해 어떻게 무시합니까?

+0

처럼 전체 모델에 영향을 클래스에 그것을 넣을 수 있습니다 실제로 Include.NON_NULL

의 수퍼 세트입니다 처음에 컬렉션에 null 값이 있습니까? –

+1

엔터티에 List가 있고이 목록에 null 개체가있는 경우와 같은 의미입니까? – pvpkiran

+0

또는 빈 콜렉션을 의미합니까? – Zeromus

답변

6

잭슨 2.X는 직렬화시에 자신의 값을 기준으로 전체 또는 개별 필드와 같은 클래스의 직렬화를 제어 @JsonInclude 주석을 제공 이후 주석

@JsonInclude(Include.NON_EMPTY) 
private Collection field; 
+0

과 다릅니다. 작동합니다 - 내 버전에서는 @JsonInclude (JsonInclude.Include.NON_EMPTY)입니다. 나도 빈 컬렉션보다는 null 컬렉션으로 생각했다. – HopeKing

1

으로 봅니다. 다음 주석을 다음과 같이 인식합니다.

Include.NON_NULL null이 아닌 특성 만 직렬화해야 함을 나타냅니다.

Include.NON_EMPTY null이 아니며 비어 있지 않은 속성 만 직렬화해야 함을 나타냅니다. 이것은 따라서 콜렉션을 통해 Include.NON_EMPTY

@JsonInclude(Include.NON_EMPTY) 
private Collection field; 

처럼 작동하거나 포인트는 무엇

@JsonInclude(JsonInclude.Include.NON_EMPTY) 
public class Foo { 
}