JAVA/공부
[JAVA] json 파싱하기 :: JSONArray, JSONObject 넘어오는 형태에 따라 값 추출하는 방법, 예시
PeepPeep!
2024. 8. 26. 23:22
[JAVA] json 파싱하기
::JSONArray, JSONObject Json 넘어오는 형태에 따라 값 추출하는 방법
restapi로 연동하다가 보면 넘어오는 리스트 형태가 다 다른데
형태에 따라 값을 가져오는 방법이 달라 초반에는 애를 먹어 정리해본다
json이 넘어오는 형태는 총 3가지이다
2번 형태가 제일 많이 넘어오는 형태이다
1. JSONObject : {:, :}
2. JSONArray : [{:}, {:}, {:}]
3. JSONArray : { “key” = [{:}, {:}, {:}] }
** Str값은 restapi를 사용하여 가져온 데이터 값이다.
String str = resultdate;
1. JSONObject : {:, :}
// 예시 JSONObject : {길동:24, 상철:45}
JSONObject jo = new JSONObject(str);
String value = jo.getString("길동");
//[결과]
//24
2. JSONArray : [{:}, {:}, {:}]
// 예시 JSONArray : [{name:"길동",age:"44"}, {name:"상철",age:"33"}, {:}]
JSONParser jp = new JSONParser();
Object objmain = jp.parse(str);
JSONArray ja = (JSONArray) objmain;
For (int I = 0; i < ja.size(); i++){
JSONObject user = (JSONObject) ja.get(i);
String name = (string) result.get(“name”);
// [결과]
// 길동
// 상철
3. JSONArray : { “key” = [{:}, {:}, {:}]
** 2번과 차이는 JSONArray로 만들기 전에 JSONObject로 먼저 만들어 준 후,
key값인 users를 넣어서 JSONArray를 만들어준다
// 예시 { “users” = [{name:”길동“,age:”24”}, {name:”상철”,age:”66”}, {:}] }JSONParser jp = new JSONParser();
JSONObject Jo = (JSONObject) jp.parse(str);
JSONObject result = Jo;
JSONArray ja = (JSONArray) result.get(“users”);
For (int I = 0; i < ja.size(); i++){
result = (JSONObject) ja.get(i);
String name = (string) result.get(“name”);
String age = (string) result.get(“age”);
}