[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”);
}

 

+ Recent posts