마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Json 파싱 질분드립니다.

0 추천

handler를 통하여 JsonObject 파일을 받아서 파싱하는 코드를 만들던 중 문제가 있어 이렇게 문의 드립니다.

 

msg.obj는

"{"field":[{"11":"1111", "22":"2222"}, {"11":"1111", "22":"2222"}]}"

이러식으로 넘어오는데 파싱 방법이 잘못된건지 어떤 object는 noticeList = json.getJsonArray("field");에서 널 익셉션이 나타나는데 무엇이 잘못된건가요??ㅠ

 

고수님들의 답변을 부탁드립니다ㅠ

 

private Handler handler = new Handler() {

        public void handleMessage(Message msg) {

            switch(msg.what) {

                case -1:

                    // 에러 처리

                    break;

                case 0:

                    json=(JSONObject)msg.obj;
                    try {
                        noticeList = json.getJSONArray("field");

                        for (int i = 0; i < noticeList.length(); i++) {
                            JSONObject temp = (JSONObject) noticeList.get(i);
                                 //temp.getString("111")
                        }
                    }catch (NullPointerException e){
                        //에러
                    }
                    break;
            }

        }

    };

 

린기 (140 포인트) 님이 2016년 1월 23일 질문

2개의 답변

0 추천
noticeList.getJSONObject(i)로 안될려나요?
bedz (700 포인트) 님이 2016년 1월 23일 답변
0 추천
Catch문에서 로그를 출력하게 하던지, 아니면 거기에 Break point를 걸어두고 디버깅을 하던지 해서 널포인터 예외가 발생했을 때의 데이터를 보는 게 맞는 순서인 것 같습니다

그 때의 데이터를 보면 왜 널포인터가 났는지 알 수 있겠죠?

그러면 그에 따라 수정하면 됩니다.
cc1232 (35,280 포인트) 님이 2016년 1월 25일 답변
...