728x90
반응형
JSON 응답 필드가 Null 값인 경우 응답 필드에서 제외 시키는 방법
▷ 해결방법
@JsonInclude(JsonInclude.Include.NON_NULL) 어노테이션 사용(필드 별 설정 가능)
▷ Example
@Data
@JsonInclude(value = Include.NON_NULL)
public class TestResVO {
/** 학번 */
private String studentNo;
/** 학생 이름 */
private String name;
/** 취미 */
private String hobby;
}
public static void testResJson() {
try {
/* TEST DATA 생성 */
String testData = "{\"STUDENTNO\": \"00001\",\"NAME\": \"홍길동\", \"HOBBY\": \"\"}";
/* TEST JSONObject 파싱 */
JSONParser jsonParse = new JSONParser();
JSONObject jsonObj = (JSONObject) jsonParse.parse(testData);
System.out.println(jsonObj);
// {"STUDENTNO":"00001","HOBBY":"","NAME":"홍길동"}
/* 응답VO 설정 */
TestResVO resVO = new TestResVO();
resVO.setStudentNo(String.valueOf(jsonObj.get("STUDENTNO")));
resVO.setName(String.valueOf(jsonObj.get("NAME")));
// HOBBY 응답 필드 NULL 설정
System.out.println(resVO);
// TestResVO(studentNo=00001, name=홍길동, hobby=null)
/* 응답VO JSON 변환 */
ObjectMapper mapper = new ObjectMapper();
String strResVO = mapper.writeValueAsString(resVO);
/* 최종확인 */
System.out.println(strResVO);
// TestResVO에 @JsonInclude(value = Include.NON_NULL)가 있는 경우
// {"studentNo":"00001","name":"홍길동"}
// 없는 경우
// {"studentNo":"00001","name":"홍길동","hobby":null}
} catch(Exception e) {
System.out.println(e);
}
}
728x90
728x90
'▶ Back-End > Java' 카테고리의 다른 글
파일 검색 후 파일 읽기 (0) | 2021.05.13 |
---|---|
날짜 비교 (0) | 2021.05.04 |
해당 월 말일 산출 (0) | 2021.04.23 |
문자열 중간 마스킹 처리 (0) | 2021.04.22 |
문자열 n번째 이후 마스킹 처리 (0) | 2021.04.22 |
댓글