安卓工具类2——json数据的快速处理方式(GsonFormat插件实现JavaBean)附findbugs插件安装使用

来源:互联网 发布:php unity3d 编辑:程序博客网 时间:2024/06/06 20:20

这是一个安卓大牛写的json数据处理的工具类,帮我很多,在此感谢!封装的简单而且实用,在此备份一下代码
首先说一下安卓studio中GsonFormat插件的安装方法,网上有很多,找了一个大牛的链接供参考
http://blog.csdn.net/ljb_blog/article/details/49795519

package com.lab.web.entity;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;import java.lang.reflect.Type;import java.util.List;import java.util.Map;/** * Created by YTF on 2017/9/12. * 功能:将后台返回的json数据直接转换成list结合或者事先封装好的实体类同时完成赋值 * 达到可以直接使用get方法获取到对应字段的数据 * 使用方法: * String  json = "这里是网络请求来的json字符串 " * Bean bean = GsonUtil.changGsonToBean(json,Bean.class); * TextView text =text.setText(bean.getName()); */public class GsonUtil {    public GsonUtil() {        // TODO Auto-generated constructor stub    }    public static String createGsonString(Object object) {        Gson gson = new Gson();        String gsonString = gson.toJson(object);        return gsonString;    }    // 把json字符串变成实体类Bean并对对应参数赋值    public static <T> T changeGsonToBean(String gsonString, Class<T> cls) {        try {            Gson gson = new Gson();            T t = gson.fromJson(gsonString, cls);            return t;        } catch (Exception e) {            return null;        }    }    // 把json字符串变成List<T>集合    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;    }    // 把json字符串变成List<Map<String, T>集合    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;    }    // 把json字符串变成Map集合    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;    }    /**     * 把json字符串变成实体类集合     * params: new TypeToken<List<yourbean>>(){}.getType(),     *     * @param json     * @param type new TypeToken<List<yourbean>>(){}.getType()     * @return     */    public static <T> List<T> parseJsonToList(String json, Type type) {        Gson gson = new Gson();        List<T> list = gson.fromJson(json, type);        return list;    }}

集成了GsonFormat插件后,在获取到后台json数据后,按照需求调用上述工具类中的合适方法,就可以快速获取到可以直接使用的返回的json数据源,并且可以直接在实体类中进行赋值和取值,不用一个一个在实体类中写变量名,也不用一层一层的解析json数据,直接可以从json中获取到自己想要的那部分数据源,快速生成对应实体类并进行赋值,并且操作完成后,就可以直接用get方法获取变量值进行赋值使用,在此谢过汪哥的无私分享
附:Android Studio中检查黄线的和隐藏bug的插件findbugs的安装和使用方式
其实和上边GsonFormat类似,都是AS中插件的集成,附上大牛链接即可
http://blog.csdn.net/omnispace/article/details/70209955