GsonUtils

来源:互联网 发布:安卓7.0 电量优化 编辑:程序博客网 时间:2024/06/18 11:47
public class GsonUtil {    private static Gson gson = null;    static {        if (gson == null) {            gson = new Gson();        }    }    private GsonUtil() {    }    /**     * 转成json     *     * @param object     * @return     */    public static String GsonString(Object object) {        String gsonString = null;        if (gson != null) {            gsonString = gson.toJson(object);        }        return gsonString;    }    /**     * 转成bean     *经常用到     * @param gsonString     * @param cls     * @return     */    public static <T> T GsonToBean(String gsonString, Class<T> cls) {        T t = null;        if (gson != null) {            t = gson.fromJson(gsonString, cls);        }        return t;    }    /**     * 转成list     * 解决泛型问题     * 经常用到     * @param json     * @param cls     * @param <T>     * @return     */    public static <T> List<T> jsonToList(String json, Class<T> cls) {        Gson gson = new Gson();        List<T> list = new ArrayList<T>();        JsonArray array = new JsonParser().parse(json).getAsJsonArray();        for (final JsonElement elem : array) {            list.add(gson.fromJson(elem, cls));        }        return list;    }    /**     * 转成list中有map的     *     * @param gsonString     * @return     */    public static <T> List<Map<String, T>> GsonToListMaps(String gsonString) {        List<Map<String, T>> list = null;        if (gson != null) {            list = gson.fromJson(gsonString,                    new TypeToken<List<Map<String, T>>>() {                    }.getType());        }        return list;    }    /**     * 转成map的     *     * @param gsonString     * @return     */    public static <T> Map<String, T> GsonToMaps(String gsonString) {        Map<String, T> map = null;        if (gson != null) {            map = gson.fromJson(gsonString, new TypeToken<Map<String, T>>() {            }.getType());        }        return map;    }}