Retrofit2:解析部分数据

时间:2016-04-07 15:12:14

标签: json pojo 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);
}

我知道修复模型类和完整解析,但我只是想得到结果列表。

1 个答案:

答案 0 :(得分: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");
                } 
               ...