2017-09-26 3 views
-4

私はこのようなコードを有する、jArrAnswerの値はアンドロイドJSONExceptionインデックス1 [0..1](1つのループ内の2つのJSON配列を解析)

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

あるjArrAnswer.length()からの結果は、4

あります

が、なぜ私はエラー

org.json.JSONExceptionました:範囲外のインデックス1 [0..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

を試してみている "答え" を提供し、この

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()); } 

を試してみてください、あなたのJSONレスポンスを投稿してくださいできますか? –

+1

'jArrAnswerid.length()'とは何ですか?これが本当@RatilalChopda –

+0

は – Lukmanpryg

答えて

3

あなたはjArrAnswerfor loopを反復しています。

jArrAnswerid.size()で、からjArrAnswer.size()になることを確認してください。

jArrAnswerid.size()を印刷して確認してください。

+0

ok wait、これをチェックします。 – 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(); 
} 
関連する問題