2013-07-17 2 views
0

구문 분석 내용은 본인은 ref 배열을 분석 할이JSON : 오류

[ 
    { 

     "topic": "Example1", 
     "ref": { 
      "1": "Example Topic", 
      "2": "Topic" 
     }, 
     "contact": [ 
      { 
       "ref": [ 
        1 
       ], 
       "corresponding": true, 
       "name": "XYZ" 
      }, 
      { 
       "ref": [ 
        1 
       ], 
       "name": "ZXY" 
      }, 
      { 
       "ref": [ 
        1 
       ], 
       "name": "ABC" 
      }, 
      { 
       "ref": [ 
        1, 
        2 
       ], 
       "name":"BCA" 
      } 
     ] , 

     "type": "Presentation" 
    } 
] 

같은 JSON 파일이 있습니다. 나는 이것을 시도했다. 그러나 오류를 보여줍니다.

jsonArray.getJSONObject(index).getJSONArray("ref").getJSONObject(index).toString() 

지금 내 질문은 해당 배열의 내용을 분석하는 올바른 방법은 무엇

1)입니다.

+3

는 오류가 무엇입니까해야합니까? – iamnotmaynard

+1

이 JSON에는 많은 'ref'가 있습니다. 어느 쪽이 원하는거야? { "1": "예 주제", "2": "주제" } –

+0

@JBNizet 그. 각 메서드가 별도의 문을 호출하고 결과를 temp에 할당합니다 (다음 문에서 사용됨). 이렇게하면 디버깅이 훨씬 쉬워지고 재구성해야 할 때 편집하기가 쉬워집니다. – user2579475

답변

1

I는 전체 JSON 배열 ([ 시작)이다

JSONObject arJS = jsonArray.getJSONObject(index).getJSONObject("ref"); 
for(int counter = 1 ; jo<=jsonArray.getJSONObject(index).getJSONObject("ref").length();counter++){ 

       String value = arJS.getString(String.valueOf(counter)); 

      } 
3

하여 해결. 첫 번째 요소는 객체입니다 ({으로 시작). 이 개체에는 "ref"특성이 있습니다. 그 값은 객체입니다 ({으로 시작).

그래서,이 객체를 얻기 위해, 당신은

jsonArray.getJSONObject(index).getJSONObject("ref")