programing

Gson이 value=map 엔트리를 무시합니다.

luckcodes 2022. 10. 18. 22:06

Gson이 value=map 엔트리를 무시합니다.

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 사용자 가이드 - Null Object Support를 참조하십시오.

Gson에서 구현되는 기본 동작은 늘오브젝트 필드가 무시됩니다.이것에 의해, 보다 콤팩트한 출력 형식이 가능하게 됩니다만, JSON 형식이 Java 형식으로 변환되기 때문에, 클라이언트는 이러한 필드의 디폴트치를 정의할 필요가 있습니다.

Gson 인스턴스가 null을 출력하도록 설정하는 방법은 다음과 같습니다.

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

언급URL : https://stackoverflow.com/questions/3923759/gson-ignoring-map-entries-with-value-null