在使用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; }
感觉方便了很多