2017-09-26 4 views
-4

I는 다음과 같은 코드가 (1 개 루프 내부 2 개 JSON 배열을 분석) jArrAnswer의 값로이드 JSONException 인덱스 1 [0..1]

[{"answer":"Yes"},{"answer":"No"},{"answer":"maybe"},{"answer":"yrg"}] 

jArrAnswer.length()의 결과가 4

이다

하지만 오류

org.json.JSONException있어 이유 :) 범위 [0..1에서 인덱스 1. 당신이 jArrAnswerid을 통해 인덱스 i를 가져 오는 동안

try { 
     JSONArray jArrAnswerid = new JSONArray(answerid); 
     JSONArray jArrAnswer = new JSONArray(answer); 
     for (int i = 0; i < jArrAnswer.length(); i++) { 
      JSONObject jObjAnswerid = jArrAnswerid.getJSONObject(i); 
      JSONObject jObjAnswer = jArrAnswer.getJSONObject(i); 
      String ansid = jObjAnswerid.getString("answerid"); 
      String ans= jObjAnswer.getString("answer"); 
      GroupModel item2 = new GroupModel(String.valueOf(i + 1), ans, ansid); 
     } 
} catch (Exception e) { 
     Log.w("asdf", e.toString()); 
} 
+0

당신이 당신의 JSON 응답을 게시하시기 바랍니다 수있는 시도가이

try { JSONArray jArrAnswer = new JSONArray(answer); for (int i = 0; i < jArrAnswer.length(); i++) { JSONObject jObjAnswer = jArrAnswer.getJSONObject(i); String ansid = jObjAnswer.getString("answerid"); String ans= jObjAnswer.getString("answer"); } } catch (Exception e) { Log.w("asdf", e.toString()); } 

제공 "대답을"시도? –

+1

무엇이'jArrAnswerid.length()'입니까 ?? 내 편집 후 –

+0

{ "대답을": "예"} 대답은 반대하지 배열 – Lukmanpryg

답변

3

당신은 jArrAnswer 통해 for loop를 반복하고 있습니다.

jArrAnswerid.size()이고,jArrAnswer.size() 인 것을 확인하십시오.

jArrAnswerid.size()을 인쇄하고 확인하십시오.

+0

ok 기다려주세요. – Lukmanpryg

+0

감사합니다. jArrAsnwerid.length의 값은 jArrAnswer.length와 다릅니다. – Lukmanpryg

+0

다행이었습니다. – iMDroid

1

당신의 JSON 배열 응답

+0

처음부터이 문제에 대해 생각해 봤지만 내 요구는 다릅니다. 그래서 저는 2 개의 json 배열을 만들었습니다. – Lukmanpryg

0

String json = "[{\"answer\":\"Yes\",\"answerid\":\"1\"},{\"answer\":\"No\",\"answerid\":\"2\"},{\"answer\":\"maybe\",\"answerid\":\"3\"},{\"answer\":\"yrg\",\"answerid\":\"4\"}]"; 

try { 
    JSONArray jsonArray = new JSONArray(json); 
    if(jsonArray != null) { 
     for (int i = 0; i < jsonArray.length(); i++) { 
      JSONObject jsonObject = jsonArray.getJSONObject(i); 
      String answerId = jsonObject.getString("answerid"); 
      String answer = jsonObject.getString("answer"); 
      //Use answerId and answer 
     } 
    } 
} catch(JSONException e) { 
    e.printStackTrace(); 
} 
관련 문제