作者微信 bishe2022

代码功能演示视频在页面下方,请先观看;如需定制开发,联系页面右侧客服
JAVA_Gson解析json工具类封装

Custom Tab

[java] 
package com.springSecurity.gson;  
  
  
import java.util.ArrayList;  
import java.util.List;  
import java.util.Map;  
  
  
import com.google.gson.Gson;  
import com.google.gson.JsonArray;  
import com.google.gson.JsonElement;  
import com.google.gson.JsonParser;  
import com.google.gson.reflect.TypeToken;  
  
  
/** 
 *  
 * @author jiangminyan 
 * @date   2016年10月17日 
 */  
  
  
public class GsonUtil {  
  
  
private static Gson gson = null;  
    static {  
        if (gson == null) {  
            gson = new Gson();  
        }  
    }  
  
  
    private GsonUtil() {  
    }  
  
  
    /** 
     * 将object对象转成json字符串 
     *  
     * @param object 
     * @return 
     */  
    public static String GsonString(Object object) {  
        String gsonString = null;  
        if (gson != null) {  
            gsonString = gson.toJson(object);  
        }  
        return gsonString;  
    }  
  
  
    /** 
     * 将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 gsonString 
     * @param cls 
     * @return 
     */  
    public static <T> List<T> GsonToList(String gsonString, Class<T> cls) {  
        List<T> list = null;  
        if (gson != null) {  
            list = gson.fromJson(gsonString, new TypeToken<List<T>>() {  
            }.getType());  
        }  
        return list;  
    }  
  
  
    /** 
     * 转成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;  
    }  
  
}

转载自:http://blog.csdn.net/jwiang/article/details/52837225

Home