2016-10-11 7 views
-3

Ich benutze volley und json Parsing implementieren. Ich mache JSON Parsing und zeigt die Daten in der Listenansicht. Ich hatte alles, was (Getter Setter, Singletonklasse, Adapter usw.), aber zum Zeitpunkt der Analyse mache ich Schwierigkeiten bin vor, wieWie JSON in Antwort zu analysieren

{ 
"result": [{ 
    "id": "1", 
    "name": "Prabhat", 
    "email": "[email protected]" 
}, { 
    "id": "2", 
    "name": "Apurva", 
    "email": "[email protected]" 
}, { 
    "id": "3", 
    "name": "sunny", 
    "email": "[email protected]" 
}, { 
    "id": "4", 
    "name": "Creation InfoTech", 
    "email": "[email protected]" 
}, { 
    "id": "5", 
    "name": "Sanjay Mishra", 
    "email": "[email protected]" 
}] 

}

Und mein Java-Code zu analysieren ist

JsonObjectRequest request = new JsonObjectRequest(url_Array, new JSONObject(), new Response.Listener<JSONObject>() { 
     @Override 
     public void onResponse(JSONObject response) { 

      for (int i = 0; i < response.length(); i++) { 
       try { 
        Log.d(TAG, "working"); 
        JSONObject object = response.getJSONObject(i); 
        // Now this is my PersonInfo class in which i have define my getters and setters 
        PersonInfo info = new PersonInfo(object.getString("id"), object.getString("name"), object.getString("email")); 
        personInfos.add(info); 

       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 

      } 
      adapter.notifyDataSetChanged(); 

     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      Toast.makeText(getApplicationContext(), "Something not ok", Toast.LENGTH_SHORT).show(); 

     } 

    }); 
    AppController.getInstance(getApplicationContext()).AddtoRequestQueue(request); 

} 

** mit Blick auf Schwierigkeiten bei der Analyse, freundlich antworten **

+5

"Schwierigkeiten beim Parsen". Was sollen wir daraus machen? Was bedeutet das? Erhalten Sie Fehler? – rmlan

+0

Ja, ich bin auf Fehler in der Antwort. –

+0

Welche Fehler erhalten Sie oder welches Ergebnis möchten Sie erhalten? –

Antwort

1

Vor die Liste gehen, müssen Sie zuerst die bekommen JSONArray:

JSONArray array = response.getJSONArray("result")

Dann gehen Sie das Array:

for (int i = 0; i < array.length(); i++) {...}

+0

es funktioniert nicht –

0

dieser Code Versuchen wird Ihnen helfen, Ihre Daten in zwei String-Arrays zu lesen dann können Sie tun, was auch immer Sie mit ihnen wollen

JsonObjectRequest request = new JsonObjectRequest(url_Array, new JSONObject(), new Response.Listener<JSONObject>() { 
     @Override 
     public void onResponse(JSONObject response) { 
     JSONArray jsonArray = jsnobject.getJSONArray("result"); 
     String[] name=new String[jsonArray.length()]; 
     String[] email=new String[jsonArray.length()]; 
      for (int i = 0; i < jsonArray.length(); i++) { 
       try { 
        Log.d(TAG, "working"); 
        JSONObject student=jsonArray.getJSONObject(i); 
        name[i]=student.getString("name"); 
        email[i]=student.getString("email"); 
       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 
      } 
      adapter.notifyDataSetChanged(); 
     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      Toast.makeText(getApplicationContext(), "Something not ok", Toast.LENGTH_SHORT).show(); 
     } 
    }); AppController.getInstance(getApplicationContext()).AddtoRequestQueue(request); 

} 
+0

es zeigt die Daten nur in der ersten Zeile der Listenansicht, verbleibende Daten (4 Zeilen) wird nicht angezeigt –

Verwandte Themen