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

JSONObject 형식의 String 파싱하는 법

0 추천
안녕하세요.

초보 개발자입니다.

이번에 새로 진행중인 작업에서  값 ( JSONObject 형식의 String )을 파싱해야하는데

예를 들어

{

“retCode”:”1234”,

“errorMessage”:””,

“data”:

             {

                         “A”:”123456789”,

                         “B”:”20000”,

                         “C”:”150000”,

              }

 }

 

이렇게 String을 반환 받았을때 A,B,C의 값은 구글링을 통해

try
    {
     JSONObject obj = new JSONObject(arg0);     
     
     JSONArray arr = obj.getJSONArray("data");
     for (int i = 0; i < arr.length(); i++)
     {
         String A = arr.getJSONObject(i).getString("A");
         String B = arr.getJSONObject(i).getString("B");
         String C = arr.getJSONObject(i).getString("C");
     }
    }
    catch(Exception e){
              e.printStackTrace();
          }

 

이런식으로 구할수 있다는 글을 봤는데

그 위의

“retCode”:”1234”,

“errorMessage”:”"

를 구하는 방식은 구글링을 해봐도 찾지를 못해서요.

도움 부탁 드립니다 ' _ '..
익명사용자 님이 2016년 1월 26일 질문

1개의 답변

0 추천
 
채택된 답변

일단 예시로 들어주신 대로만 본다면 a,b,c의 값도 얻어 올수 없습니다.

일단 말로 풀자면 retcode, error , data 모두 제이슨 오브젝트들입니다.

즉 오브젝트구분만 해주신다면 getString()로 전부 뺴올수 있습니다.

그리고 data가 여러 값들이 들어가있다고 배열로 생각하신듯 한데 배열아니에요~!

제이슨에서 배열은 []괄호를 씁니다.

JSONObject obj = new JSONObject(arg0);

obj,getString("retcode");
obj,getString("error");

JSONObject obj2 =  obj.getJsonObject("data");
obj2.getString("A");
obj2.getString("B");
obj2.getString("C");

 

ThisPlus (46,920 포인트) 님이 2016년 1월 26일 답변
정말 감사합니다.
예시까지 들어주시니 잘 보고 배웁니다.
그럼 혹시
“data”:
[
{
“A”:”123”,
“B”:”123”,
“C”:”1000”,
},
....
....
....
....
{
“A”:”123”,
“B”:”123”,
“C”:”123”,

}
]

이런 형태는 제가 구글링을 통해 얻어온 방식으로 구할수도 있나요?
네 정확히 님이 구글링한 방식이 맞네요~~!
...