나는 jackosn을 사용하여 POJO를 직렬화하고 있으며, 사용자가 null인지 여부에 관계없이 사용자가 값을 설정하는 모든 값을 직렬화에 포함해야합니다. 그래서 현재Jackson은 사용자가 null을 포함합니까?
:
POJO :
현재public class YourItem {
public String key;
public String item;
}
때 사용자가 수행합니다
이YourItem item = new YourItem();
item.setKey("abc");
직렬화가 제공 :
{
"key" : "abc"
}
내가구성으로as objectMapper.setInclude(Include.NON_NULL)
그러나 사용자가 특별히 setter를 호출하고 값을 null로 설정하면 해당 항목을 내 직렬화 된 문자열에 넣으려고합니다. 는 사용자가 내가 serialzation에서 원하는
YourItem item = new YourItem();
item.setKey("abc");
item.setItem(null);
를 않도록 경우 키와 항목 값을 모두 같은 존재 :
{
"key" : "abc",
"item" : null
}
어떻게 널 설정 사용자와 기본 널 (null)을 구별 않습니다. ObjectMapper에 구성이 있습니까 ??
분명히 어딘가에 복제본이 있지만 'NON_DEFAULT'을 (를) 사용해보십시오. –
@SotiriosDelimanolis :'NON_DEFAULT'을 시도했지만 차이는 없습니다. 사용자가 설정 한 null 값은 생략되었습니다 –
원하는 것을 원하지 않습니까? –