2017-04-25 36 views
-4

org.json.JSONException: Kein Wert in Arrayorg.json.JSONException: Kein Wert

StringRequest req = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() { 
     @Override 
     public void onResponse(String s) { 

      try { 
       questionsList = new ArrayList<QuestionsBean>(); 
       JSONObject jsonObject = new JSONObject(s); 
       JSONArray question = jsonObject.getJSONArray("questions"); 
       for (int i = 0; i < question.length(); i++) { 
        JSONObject x = question.getJSONObject(i); 
        QuestionsBean u = new QuestionsBean(); 
        u.setDate(x.getString("date")); 
        u.setQuestion(x.getString("question_text")); 
        JSONObject bject = new JSONObject(); 
        JSONArray answers = bject.getJSONArray("answers"); 
        for (int j = 0; j < answers.length(); j++) { 
         JSONObject xx = answers.getJSONObject(i); 
         u.setAnswer_body(xx.getString("Answer_body")); 
        } 
        questionsList.add(u); 
+0

Das heißt, Ihr 'answers' Array wird' null'. – Piyush

Antwort

3

Sie rufen nicht getJSONArray auf der richtigen JSONObject. Verwenden Sie

JSONArray answers = x.getJSONArray("answers"); 

Da auch Ihre JSONArray könnte null sein, optJSONArray verwenden, um die Ausnahme zu vermeiden und prüfen, ob es vor dem Fortfahren null ist.

So etwas wie

JSONArray answers = x.optJSONArray("answers"); 
if (answers != null) { 
    // for loop 
} 
1
JSONObject bject = new JSONObject(); 
JSONArray answers = bject.getJSONArray("answers"); 

Sie hier eine leere JSONObject aufgebaut, so dass es normal ist, was es nicht 'Antworten' finden in es.

Verwandte Themen