首先需要导入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之Gson解析json的封装
最新推荐文章于 2021-05-28 23:12:43 发布