안녕하세요.
아래의 형식처럼 smSi 는 잘가져 옵니다.
gugun 을 다시 배열로 만드려니 JSONObject 으로 해도 안되고, 여러 방법을 다해도 도무지 모르겠습니다.
gugun을 다시 JSONArray 로 해야 될건 같은데.... 도무지 모르겠습니다.
좋은하루 되시구요, 답변 부탁 드리겠습니다.
감사합니다.
jSon 형식 ***************************************
{
"error":"0",
"errorText":"",
"location":[
{
"smSi":"서울",
"gugun":[
"강남구",
"중랑구"
]
},{
"smSi":"경기",
"gugun":[
"포천시",
"을왕시",
"가평시",
"평택시"
]
},{
"smSi":"부산",
"gugun":[
"강서구",
"금정구",
"기장구"
]
}
...........................
}
jSon 형식 ***************************************
소스 *******************************************
ArrayList<HashMap<String, String>> siList = datasSi;
ArrayList<HashMap<String, String>> gugunList = datasGugun;
JSONObject json;
json = JSONUrlConn.getIntense("URL");
try {
JSONArray earthquakes = json.getJSONArray("location");
for (int i = 0; i < earthquakes.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
JSONObject eSi = earthquakes.getJSONObject(i);
// JSONArray earthquakesGugun = earthquakes.getJSONArray(i);
try {
map.put("smSi", URLDecoder.decode(eSi.getString("smSi"),"UTF-8"));
} catch (UnsupportedEncodingException e1){}
/*
for (int j = 0; j < earthquakesGugun.length(); j++) {
HashMap<String, String> mapGugun = new HashMap<String, String>();
JSONObject eGugun = earthquakesGugun.getJSONObject(j);
try {
mapGugun.put(URLDecoder.decode(eSi.getString("smSi"),"UTF-8"), URLDecoder.decode(eGugun.getString("gugun"),"UTF-8"));
} catch (UnsupportedEncodingException e2){}
gugunList.add(mapGugun);
}
*/
siList.add(map);
}
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}
소스 *******************************************
JSONArray earthquakesGugun = earthquakes.getJSONArray(i).getJSONArray("gugun");
이렇게 하셨나요?
earthquakes << location으로 뽑아온 array;
earthquakes.getJSONArray(i) << location으로 뽑아온 array 의 index;
earthquakes.getJSONArray(i).getJSONArray("gugun"); << location으로 뽑아온 array 의 index에서 gugun의 array를 get;
earthquakesGugun.getString(j) << gugun의 array 의 index 지역값 get;
그래도 안되시면 수정하신 코드를 다시 올려주심이;;;



