Android中使用Gson统一处理接口返回的json方法
2017-11-06 16:25 浏览(888

在使用Gson处理接口返回的json 数据时,每次都要try/catch一下,再传入指定实体类处理,总感觉很麻烦,想创建一个统一的方法来处理。

Utility 类中的方法

/**
 * 将返回的数据解析成 对应的 实体类
 */
public static Object handleResponse(String response, Class t){
    try{
        return new Gson().fromJson(response, (Class<? extends Class>) t);
    }catch (Exception e){
        e.printStackTrace();
    }
    return null;
}

在请求接口后的回调中调用

...
@Override
public void onResponse(Call call, Response response) throws IOException {
    httpSending = false;
    final String responseText = response.body().string();
    //传入实体类即可
    final Result res = (Result) Utility.handleResponse(responseText, Result.class);

    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            //....
        }
    });
}
...

Result实体类

public class Result {
    public String status;
    public String message;
    public String result;
}

感觉方便了很多

评论(0)
发布评论
回复X
聊天室(0