2016-04-07 28 views
2

aşağıdaki json yanıtını alıyorum parçası ayrıştırmak. Ben sadece verilerin bir kısmını ayrıştırmak isteyenRetrofit2: Veri

{ 
    "error_code" : 0 , 
    "reason" : "success!" , 
    "result" : [ 
     { 
      "id" : 1 , 
      "name" : "name1" 
     } , 
     { 
      "id" : 2 , 
      "name" : "name2" 
     } , 
     { 
      "id" : 3 , 
      "name" : "name3" 
     } , 
     { 
      "id" : 4 , 
      "name" : "name4" 
     } , 
     { 
      "id" : 5 , 
      "name" : "name5" 
     } , 
     { 
      "id" : 6 , 
      "name" : "name6" 
     } 
    ] 
} 

("sonucunu") İşte

benim Modeli Sınıf geçerli:

public class ResultBean { 

    private int id; 
    private String name; 

    public int getId() { 
     return id; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 
} 

Ve APIService

public interface APIService { 
    @GET("getCategory") 
    Call<List<ResultBean>> getCategory(@Query("key") String key); 
} 

Düzeltme modeli Sınıfı ve Tamamlama çözümünü biliyorum, ancak sonuçların listesini almak istiyorum.

cevap

0

tepki türü olarak kullanılması JsonElement ve cevaben result dizi olsun:

call.enqueue(new Callback<JsonElement>() { 
     @Override 
     public void onResponse(Call<JsonElement> call, Response<JsonElement> response) { 
      if(response.isSuccessful()){ 
       JsonElement jsonElement = response.body(); 
       if(jsonElement.isJsonObject()){ 
        JsonObject obj = jsonElement.getAsJsonObject(); 
        // your array 
        JsonArray result = obj.getAsJsonArray("result"); 
       } 
       ...