No sweet without sweat

[JAVA] - GSON 직렬화 NULL(serializeNulls) 본문

JAVA

[JAVA] - GSON 직렬화 NULL(serializeNulls)

Remi 2023. 11. 25. 17:33
728x90
반응형

null 값을 "null" 문자열로 직렬화하려면 다음과 같이 할 수 있습니다:

 

Gson gson = new GsonBuilder()
               .serializeNulls()
               .registerTypeAdapter(String.class, (JsonSerializer<String>) (src, typeOfSrc, context) -> src == null ? new JsonPrimitive("null") : new JsonPrimitive(src))
               .create();

- 이렇게 하면 NULL인 값은 제외되고

 

Gson gson = new GsonBuilder()
               .registerTypeAdapter(MyClass.class, new JsonSerializer<MyClass>() {
                   @Override
                   public JsonElement serialize(MyClass src, Type typeOfSrc, JsonSerializationContext context) {
                       JsonObject jsonObject = new JsonObject();
                       if (src.getData() != null) {
                           jsonObject.addProperty("data", src.getData());
                       } else {
                           jsonObject.addProperty("data", "null");
                       }
                       return jsonObject;
                   }
               })
               .create();

 

이런식으로 하면, 데이터가 null이어도 필드에 "null"이라는 값도 들어갑니다.

 

728x90
반응형
Comments