148_okhttp和Gson

来源:互联网 发布:greenplum数据库 编辑:程序博客网 时间:2024/06/05 09:43


okhttpGson



本来吧不想写这个东西的

还是比较简单

但是前面RetrofitVolley都写了

okhttp还是写一下,再加上Gson

 


        Request request = new Request.Builder().url(url).build();

        OkHttpClient okHttpClient = new OkHttpClient();

        okHttpClient.newCall(request).enqueue(new Callback() {

            @Override

            public void onFailure(Request request, IOException e) {

                Log.w("tag", "数据请求失败");

            }

 

            @Override

            public void onResponse(Response response) throws IOException {

                String result = response.body().string();

                Log.w("tag", "数据是" + result);

                parseJson(result);

            }

        });

 

 

 

 

解析一下

 

 

    private void parseJson(String result) {

        Gson gson = new Gson();

        MyBean myBean = gson.fromJson(result, MyBean.class);

    }

 

 

 

 

我们可以抽一个Gson的工具类

 

 

//objectjson

 

public static String createGsonString(Object object) {

Gson gson = new Gson();

String gsonString = gson.toJson(object);

return gsonString;

}

 

 

 

//jsonbean

 

public static <T> T changeGsonToBean(String gsonString, Class<T> cls) {

Gson gson = new Gson();

T t = gson.fromJson(gsonString, cls);

return t;

}

 

 

 

 

//gsonlist

 

public static <T> List<T> changeGsonToList(String gsonString, Class<T> cls) {

Gson gson = new Gson();

List<T> list = gson.fromJson(gsonString, new TypeToken<List<T>>() {

}.getType());

return list;

}

 

 

 

//gsonlist

 

public static <T> List<Map<String, T>> changeGsonToListMaps(

String gsonString) {

List<Map<String, T>> list = null;

Gson gson = new Gson();

list = gson.fromJson(gsonString, new TypeToken<List<Map<String, T>>>() {

}.getType());

return list;

}

 

 

 

 

//gsonmap

 

public static <T> Map<String, T> changeGsonToMaps(String gsonString) {

Map<String, T> map = null;

Gson gson = new Gson();

map = gson.fromJson(gsonString, new TypeToken<Map<String, T>>() {

}.getType());

return map;

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击