[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”);
}
'JAVA > 공부' 카테고리의 다른 글
정적 바인딩 VS 동적 바인딩 (0) | 2025.01.15 |
---|---|
[프로그래머] 공배수 (0) | 2024.11.06 |
[JAVA] String, StringBuffer, StringBuilder 차이 (0) | 2024.01.31 |
[JAVA] static 변수와 static 메소드 (0) | 2024.01.31 |
[JAVA] new String()과 String literal("") 차이 (0) | 2024.01.22 |