android之Gson解析json的封装

首先需要导入Gson这个类以及gson的反射包  
import com.google.gson.Gson;  
import com.google.gson.reflect.TypeToken;  
1. 解析某个对象
public static <T> T getObject(String jsonString,Class<T> cls) {  
    T t = null;  
    try{  
            Gson gson = new Gson();     
        t = gson.formJson(jsonString,cls);  
    }catch(Exception e) {  
        e.printStackTrace();  
    }  
    return t;  
}  
2.使用Gson解析类型为List<Object>的对象  
public static <T> List<T> getObjects(String jsonString,Class<T> cls) {  
    List<T> list = new ArrayList<T>();  
    try{  
        Gson gson = new Gson();  
        list = gson.formJson(jsonString,new TypeToken<List<T>>(){}.getType());  
    }catch(Exception e) {  
        e.printStackTrace();  
    }  
    return t;  
}  
3使用Gson解析类型为List<String>的对象  
public static List<String> getList(String jsonString) {  
    List<String> list = new ArrayList<String>();  
    try{  
        Gson gson = new Gson();  
        list = gson.formJson(jsonString,new TypeToken<List<String>>(){}.getType());  
    }catch(Exception e) {  
        e.printStackTrace();  
    }  
    return list;  
}  
4.使用Gson解析类型为List<Map<String,Object>>的对象  
 public static List<Map<String,Object>> getListKeyMaps(String jsonString) {  
    List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();  
    try{  
        Gson gson = new Gson();  
        list = gson.formJson(jsonString,new TypeToken<List<Map<String,Object>>>(){}.getType());  
    }catch(Exception e) {  
        e.printStackTrace();  
    }  
    return list;  
}  
5.使用方法:  
    例如:Person person = xxxx.getObject(jsonString,Person.class); //第二个参数是反射的class对象,明确要解析成Person对象

你可能感兴趣的:(android)