2016-04-07 193 views
2

我正在以下JSON響應的一部分。Retrofit2:解析數據

{ 
    "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" 
     } 
    ] 
} 

我只是想分析數據更一部分(「結果」)

這裏是我的模型類:

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

而且APIService

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

我知道修復模型類和完成解析,但我只想得到結果列表。

回答

0

使用JsonElement作爲響應類型,並得到result陣列響應:

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"); 
       } 
       ...