Gson은 JSON 의 자바 오브젝트의 직렬화, 역질렬화를 해주는 오픈 소스 자바 라이브러리 입니다.
Gson 사용 시 유의해야할 점이 있는데,
그중 하나가 null object 필드가 무시 된다는 점입니다.
하기와 같이
s 는 null , i 는 5 값을 가지는 Foo 객체를 gson.toJson(foo) 를 통해 Json 형태로 직렬화를 해보면
null 값이 무시되는 점을 확인 할 수 있습니다.
public class Foo {
private final String s;
private final int i;
public Foo() {
this(null, 5);
}
public Foo(String s, int i) {
this.s = s;
this.i = i;
}
}
Gson gson = new Gson();
Foo foo = new Foo();
String json = gson.toJson(foo);
System.out.println(json);
======== OUTPUT ========
{"i":5}
따라서 값이 null 이여도 표시를 하기 위해서는
GsonBuilder 클래스를 사용하여 serializeNulls() 옵션을 사용하여 처리 할 수 있습니다.
Gson gson = new GsonBuilder()
.serializeNulls()
.create();
Foo foo = new Foo();
String json = gson.toJson(foo);
System.out.println(json);
======== OUTPUT ========
{"s":null,"i":5}
'개발노트 > SPRING' 카테고리의 다른 글
JAVA 예외(Exception) 과 예외 처리 (0) | 2020.03.13 |
---|