[java] 값이 null 인 맵 항목을 무시하는 Gson

Gson gson = new Gson();

Map<String,Object> map = new HashMap<String, Object>();
map.put("a", 1);
map.put("b", null);

System.out.println(gson.toJson(map)); //prints {"a":1}

모든 항목을 포함 시키려면 어떻게해야합니까?



답변

Gson 사용자 안내서-널 오브젝트 지원을 참조하십시오 .

Gson에서 구현되는 기본 동작은 null 개체 필드가 ​​무시되는 것입니다. 보다 컴팩트 한 출력 형식이 가능합니다. 그러나 JSON 형식이 다시 Java 형식으로 변환되므로 클라이언트는 이러한 필드의 기본값을 정의해야합니다.

null을 출력하도록 Gson 인스턴스를 구성하는 방법은 다음과 같습니다.

Gson gson = new GsonBuilder().serializeNulls().create();

답변