[안드로이드]키 없는 JSON 파싱하는 법
안녕하세요. 개발자 드리머즈입니다.
키 없는 JSON 구조에 대해 파싱하는 법에 대한 자료남깁니다.
key가 없는 JSON이란 아래와 같습니다.
[
"1",
"서버 정상"
]
{
"status": "1",
"msg": "서버 정상"
}
JSONObject json_obj= null;
try {
json_obj = new JSONObject(responseData);
} catch (JSONException e) {
e.printStackTrace();
}
org.json.JSONException: Value ["1","서버 정상"] of type org.json.JSONArray cannot be converted to JSONObject
A modifiable set of name/value mappings.
그래서 format에 맞지 않아 파싱이 안되고 exception을 발생시킨 것 같습니다.
서버에서 보내주는 JSON구조를 바꿔야하나 고민을 하다가.. JSONObject가 아닌 JSONArray를 사용해봐야 겠다고 생각했습니다.
JSONArray json_array = null;
try {
json_array = new JSONArray(responseData);
Log.d("test", "json_array.get(0) = " + json_array.get(0));
Log.d("test", "json_array.get(1) = " + json_array.get(1));
} catch (JSONException e) {
e.printStackTrace();
}
위와 같이 코드 작성 후 로그를 확인해보니
D/test: json_array.get(0) = 1
D/test: json_array.get(1) = 서버 정상
위처럼 제대로 나옵니다.
key가 없는 JSON 구조의 경우에는 간단하게 JSONArray를 이용해서 파싱하면 될 것 같습니다.
댓글 영역