JSON 값을 받아서 파싱을 해야하는데 KEY 값을 모르는 경우가 있을 수 있다.
KEY값 추출은 JSONObject 안의 개수가 때마다 일정하지 않을 때 주로 사용된다.
다음과 같은 json 데이터를 받는다고 가정해보자
{
"fruit": {
"apple": "500원",
"banana": "200원",
"watermelon": "300원",
"peach": "350원",
"strawberry": "50원",
"orange": "200원"
}
}
과일 이름으로 된 key값을 받아오려면 keys() 메소드와 Iterator 반복자를 사용해서
한번에 받아올 수 있다.
try {
JSONObject jsonObject = new JSONObject(fruitList);
String fruitValue = jsonObject.getString("fruit");
JSONObject fruitObject = new JSONObject(fruitValue); // fruit key 에 있는 JSON Object
Iterator i = fruitObject.keys(); // key값들을 모두 얻어옴.
while(i.hasNext())
{
String b = i.next().toString();
fruitKeyList.add(b); // 키 값 저장
}
for(int j = 0; j<fruitKeyList.size();j++) // 추출
{
fruitValueList.add(fruitObject.getString(fruitKeyList.get(j)));
Log.d("ITPangpang",(j+1)+"번째 과일이름->"+fruitKeyList.get(j));
Log.d("ITPangpang",(j+1)+"번째 과일가격->"+fruitValueList.get(j));
}
}
catch (JSONException e) {
e.printStackTrace();
}
※ 출처 : http://itpangpang.xyz/269
'Programming > Java & JSP & Spring' 카테고리의 다른 글
[Java] 자주 쓰이는 형변환 (0) | 2017.10.15 |
---|---|
[Spring Boot] JPA UPDATE (0) | 2017.08.17 |
[Java] String, Date 타입 간의 변환 (0) | 2017.08.17 |
[Spring] 예외처리 (0) | 2017.08.12 |
[SpringBoot] 프로퍼티 이용하기 (0) | 2017.08.08 |