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

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

728x90

우리는 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(hair.equals("남성")){ //값이 "남성" 일때 }

여기서 중요한건

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

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

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

728x90

from http://byul91oh.tistory.com/401 by ccl(A) rewrite - 2021-11-15 17:02:02