마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

이중 JSON {} 파싱방법

0 추천
{
  "cin": {
    "st": 179206,
    "cr": "RC00000000000000003107",
    "cnf": "text",
    "cs": 8,
    "con": "33,63,80",
    "ty": 4,
    "ri": "CI00000000000012688905",
    "rn": "CI00000000000012688905",
    "pi": "CT00000000000000000803",
    "ct": "2016-10-20T19:13:34+09:00",
    "lt": "2016-10-20T19:13:34+09:00",
    "et": "2016-11-04T19:13:34+09:00"
  }
}

이런 식으로 json을 받았을때 JSONObject를 생성하면 getString("cin"); 으로 cin밖에 가져올 수 없습니다.

내부에 있는 con 키의 벨류에 접근하려면 어떻게 해야하나요?
영이씨 (350 포인트) 님이 2016년 10월 21일 질문

3개의 답변

+1 추천
JSONObject json = new JSONObject(jsonString);

이런식으로 하면 저기있는 전체가 파싱될것이구요..

JSONObject jObj = json.optJSONObject("cin");

이렇게하면 cin안에 데이터들이 파싱될것입니다.

그럼 jObj.getString으로 가져오면 되겠죠..
캬옹이 (37,920 포인트) 님이 2016년 10월 21일 답변
0 추천
똑같이 접근하시면 되요

cin라는 key로 접근해서

{ "st": ~ }의 value 값을 뽑아서 String에 담아뒀다가

JSONObject 하나 더 생성해서 new JSONObject(담아둔 String)

하시고 2번째 생성한 Object에 getString("con");
익명사용자 님이 2016년 10월 21일 답변
0 추천
cin은 또 다른 jsonobject입니다. 따라서 String이 아니라 JSONObject로 읽으셔야 합니다.
spark (227,530 포인트) 님이 2016년 10월 21일 답변
...