2016-04-07 18 views
2

の一部パース:私はちょうど件のデータの一部を解析する(「結果」)Retrofit2:。私は次のようなJSONレスポンス取得していたデータ

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