0%

Jackson, null 필드 무시하기

백단에서 데이터를 프론트 단에 넘길 때, 객체에 대한 property값이 널인 경우까지 넘어 간다.

예제 코드

1
2
3
4
public class Account {
private String name;
private int age;
}
1
2
3
4
5
6
7
public void create_account_null_test(){
Account account = new Account();
account.setName(null);
account.setAge(32);

System.out.println(objectMapper.writeValueAsString(account));
}

다음과 같이 null 값의 해당하는 name 프로퍼티가 결과로 나온다.

1
{"name":null,"age":32}

1. 지역적으로 처리

1
2
3
4
5
6
7
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Account {

//@JsonInclude(JsonInclude.Include.NON_NULL) //클래스 또는 해당 프로퍼티에 붙여준다.
private String name;
private int age;
}

2. 전역적으로 설정하는 방법

1
2
3
4
5
6
7
8
9
10
@Configuration
public class JacksonConfiguration {

@Bean
public ObjectMapper objectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
return objectMapper;
}
}

Ref

Welcome to my other publishing channels