2017-09-09 3 views
0

Ich habe okHttp so einrichten, dass response.body().string(); kehrtErste Informationen aus einer Datenbank

[{"id":"1","username":"netsgets","password":"test","likedOne":"","likedTwo":"","likedThree":"","likedFour":"","likedFive":""},{"id":"2","username":"test","password":"test","likedOne":"","likedTwo":"","likedThree":"","likedFour":"","likedFive":""},{"id":"3","username":"netsgets2","password":"test","likedOne":"","likedTwo":"","likedThree":"","likedFour":"","likedFive":""}] 

ich für alle Benutzernamen suchen möchten, und fügen Sie sie in eine HashMap. Das ist, was ich habe, aber es funktioniert nicht:

final String TestVar = response.body().string(); 

           for (int data_i = 0; data_i < TestVar.length(); data_i++) { 
            Log.d("OkHttp","debug3"); 
            HashMap<String, String> hashMap = new HashMap<String, String>(); 


            try { 
             hashMap.put("username", 
               TestVar.getString("username")); 
            } catch (JSONException e) { 
             e.printStackTrace(); 
            } 

            usersInfo.add(hashMap); 




           } 
          } 

Nicht nur, dass es nicht funktioniert, Die TestVar.getString("username") einen Fehler bekommt. Bitte helfen Sie.

+0

Hey Ron hast du meine Antwort überprüft? löst es dein Problem? – akhilesh0707

Antwort

0

Try this:

try{ 

    JSONArray jsonArray = new JSONArray(response.body().string()); 
    for (int data_i = 0; data_i < jsonArray.length(); data_i++) { 
     HashMap<String, String> hashMap = new HashMap<String, String>(); 
     JSONObject jsonObject = jsonArray.getJSONObject(data_i); 
     hashMap.put("username",jsonObject.getString("username")); 
     usersInfo.add(hashMap); 
    } 
}catch(JSONExceptrion e){ 
} 
1

Ihre Antwort ist JSONArray so müssen Sie JSON analysieren und das Objekt zu bekommen. Um Objekt aus JSON Sie versuchen, Code unten

try { 
    HashMap<String, String> hashMap = new HashMap<String, String>(); 
    String TestVar = response.body().string(); 
    JSONArray jsonArray = new JSONArray(TestVar); 
    for(int i = 0; i < jsonArray.length(); i++) { 
     JSONObject jsonObject = jsonArray.getJSONObject(i); 
     hashMap.put("username", jsonObject.getString("username")); 
    } 
}catch (JSONException e) { 
    e.printStackTrace(); 
} 

Hoffnung zu bekommen diese Ihnen helfen.

+0

YA das funktioniert, aber ich muss klicken, um es zu laden beenden, und klicken Sie erneut, damit es angezeigt wird .... Warum? –

Verwandte Themen