Cannot invoke "java.lang.Integer.intValue()" because the return value of "org.json.simple.JSONObject.get(Object)" is null 에러 해결

yeonn·2023년 12월 21일
0

error

목록 보기
12/13

springboot와 Open Api를 연결해 DB에 데이터를 저장하는 도중 에러 발생 2 😇

앞서 Cannot invoke "org.json.simple.JSONArray.size()" because "array" is null 에러를 해결해주니
제목에 적은 에러가 나타났다..

에러에 대해 추측?해봤는데
json 데이터에 있는 데이터 이름은 rnum으로 되어있는데
나는 해당 데이터를 찾을 때 엔티티의 변수명인 rNum으로 찾도록 했다.
내가 찾는 이름을 잘못 적어줘서 데이터를 가져오지 못하는 걸까 싶어서 rNum -> rnum으로 변경해주었다.

//item 안쪽의 데이터는 [] 즉 배열의 형태이기에 제이슨 배열로 받아온다.
SONArray array = (JSONArray) parseItems.get("item");

for(int i=0; i<array.size(); i++) {
   JSONObject tmp = (JSONObject)array.get(i);
   AreaCode1 areaCode1 = new AreaCode1(
             i+(long)1,
             (long)tmp.get("rnum"), //여기를 rNum -> rnum으로 변경
             (String)tmp.get("code"),
             (String)tmp.get("name"));
             areaCode1Repository.save(areaCode1);
}

그랬더니 에러 해결!
json데이터를 찾을 때는 json데이터의 이름대로 적어주어야 한다는 걸 깨달았다..!!

profile
개발자에 꽉 눌러 붙은 국문과생

0개의 댓글