使用Gson解析Json得到各种类型的数据


import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
/**
 * Gson解析json工具
 */
public class GsonTools {

    public GsonTools() {
    }
    
    public static String createGsonString(Object object) {
        Gson gson = new Gson();
        String gsonString = gson.toJson(object);
        return gsonString;
    }

    public static T changeGsonToBean(String gsonString, Class cls) {
        Gson gson = new Gson();
        T t = gson.fromJson(gsonString, cls);
        return t;
    }

   public static ArrayList changeGsonToList(String json, Class cls) {
        Type type = new TypeToken>(){}.getType();
        ArrayList jsonObjs = new Gson().fromJson(json, type);// 反序列化出ArrayList
        ArrayList listOfT = new ArrayList();
        for (JsonObject jsonObj : jsonObjs) {
            listOfT.add(new Gson().fromJson(jsonObj, cls));
        }
        
        return listOfT;
    }

    public static List> changeGsonToListMaps(
            String gsonString) {
        List> list = null;
        Gson gson = new Gson();
        list = gson.fromJson(gsonString, new TypeToken>>() {
        }.getType());
        return list;
    }

    public static Map changeGsonToMaps(String gsonString) {
        Map map = null;
        Gson gson = new Gson();
        map = gson.fromJson(gsonString, new TypeToken>() {
        }.getType());
        return map;
    }

}

你可能感兴趣的:(Java,Gson,Json,解析)