본문 바로가기
Back-end/JAVA & Spring

[JAVA] JSONObject key 값이 null 일때 해결 방법

by 꼬바리 2021. 11. 15.

우리는 JSON parser/ object 등으로 제이슨 처리를 한다.

 

{
	"gender" : "남성"
}

이러한 데이터는 쉽게

if(jsonObject.get("gender").equals("남성")){
    // key값이 gender인 json Object 의 값 체크가 가능
}

키값을 넣고 체크 가능하다.

 

 

그치만 Key값이 null일때,

{
	"gender" : null
}

 

 

널값을 가진 키라면 널포인트 익셉션 이 발생한다.

 

if(jsonObject.get("gender").equals("남성")){
	//널포인트 발생
}else if(jsonObject.get("gender").equals(null)){
	//error
}else if(jsonObject.get("gender").equals("null")){
	//error
}else if(jsonObject.get("gender") == null){
	//error
}else if(jsonObject.get("gender") == "null"){
	//error
}else if(stingUtils.isBlank(jsonObject.get("gender"))){
	//error
}

다양한 방법으로 시도 해봤지만 여전한 오류

 

다양한 시도끝이 해결방법은

Object 로 객체를 받아서 해결했다

 

Object gender = jsonObject.get("gender");
if(gender == null){
	//널일때
}else if(gender.equals("남성")){
	//값이 "남성" 일때 
}

여기서 중요한건

if(gender == null)을 esle if 로 내려도 오류가 난다는것..

처음으로 널체크를 넣어줘야한다.. 꼭..

 

별거 아니지만 시간을 많이 뺴았은 JSON의 null체크

728x90
반응형

댓글