Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 스택 큐 차이
- 클래스
- android retrofit login
- 플러터 설치 2022
- 자바 다형성
- 안드로이드 유닛 테스트 예시
- jvm이란
- rxjava hot observable
- 스택 자바 코드
- 안드로이드 유닛테스트란
- rxjava disposable
- jvm 작동 원리
- 멤버변수
- android ar 개발
- 안드로이드 유닛 테스트
- 서비스 vs 쓰레드
- 2022 플러터 안드로이드 스튜디오
- 안드로이드 라이선스
- 안드로이드 라이선스 종류
- 서비스 쓰레드 차이
- 큐 자바 코드
- 안드로이드 레트로핏 crud
- 안드로이드 레트로핏 사용법
- rxjava cold observable
- ANR이란
- 안드로이드 os 구조
- ar vr 차이
- 2022 플러터 설치
- 객체
- Rxjava Observable
Archives
- Today
- Total
나만을 위한 블로그
[Android] JSONArray 안의 JSONArray 파싱하는 방법 본문
728x90
반응형
api에서 값을 받다 보면 아래와 같은 형태의 JSONArray가 오는 경우가 있다.
{
"request_success_code": 200,
"category": [
{
"android": [
{
"name": "안드로이드",
"orientation" : "2021-06-20"
},
{
"name": "자바",
"orientation" : "2021-06-25"
}
],
"iOS": [
{
"name": "아이폰",
"orientation" : "2021-06-23"
},
{
"name": "스위프트",
"orientation" : "2021-06-23"
}
]
}
]
}
category 안의 android라는 key에 들어있는 값들을 가져오려면 아래와 같은 형태로 파싱하면 된다.
JSONArray jsonArray = jsonObject.getJSONArray("category");
JSONObject inner_json = jsonArray.getJSONObject(0);
JSONArray android_array = inner_json.getJSONArray("android");
for (int i = 0; i < android_array.length(); i++)
{
JSONObject android_obj = android_array.getJSONObject(i);
name = assist_obj.getString("name");
orientation = assist_obj.getString("orientation");
MyItem item = new MyItem();
item.setName(name);
item.setOrientation(orientation);
list.add(item);
}
category JSONArray 안의 첫 번째 JSONObject를 가져온다. 그리고 이 가져온 JSONObject에서 getJSONArray()로 가져오려는 JSONArray의 이름을 쓰고, for문으로 이 JSONArray의 길이만큼 반복하며 안에 있는 값들을 가져오면 된다.
객체를 만들고 set하는 부분은 리사이클러뷰에 보여주기 위한 처리의 일부니 무시해도 된다.
꼭 JSONArray를 이 방법대로 파싱해야 하는 건 아니다. 이렇게 파싱하면 안되는 JSONArray도 있으니 그것의 파싱법은 나중에 작성한다.
반응형
'Android' 카테고리의 다른 글
[Android] Duplicate class android.support.v4.app.INotificationSideChannel 에러 해결 (0) | 2021.08.04 |
---|---|
[Android] 갤러리에서 사진을 선택해 프로필 이미지로 지정하고 Volley로 서버에 업로드하는 법 (0) | 2021.07.27 |
[Android] startActivityForResult()를 대체할 registerForActivityResult()로 이미지 가져오는 법 (0) | 2021.06.20 |
[Android] 로그에 사용할 태그 만드는 법 (0) | 2021.06.09 |
[Android] 커스텀 다이얼로그 테두리 둥글게 만들기 (0) | 2021.06.09 |
Comments