需要注意的是,引用资源库的时候gson的版本不能太低,低的话不会报错 但是解析集合的时候解析不出来;
我目前用的版本是 compile 'com.google.code.gson:gson:2.2.4'
/**
* 将对象转换为JSON字符串
*/
public static String toJsonString(Object value) {
Gson gson = new Gson();
return gson.toJson(value);
}
/**
* 将JSON字符串转换为对象
*
* @param val
* @param type
* @return
*/
public static <T> T fromJson(String val, Class<T> type) {
Gson gson = new Gson();
return gson.fromJson(val, type);
}
/**
* 将JSON字符串转换为集合
*
* @param json
* @param clazz
* @return
*/
public static <T> ArrayList<T> jsonToArrayList(String json, Class<T> clazz) {
Type type = new TypeToken<ArrayList<JsonObject>>() {
}.getType();
ArrayList<JsonObject> jsonObjects = new Gson().fromJson(json, type);
ArrayList<T> arrayList = new ArrayList<>();
for (JsonObject jsonObject : jsonObjects) {
arrayList.add(new Gson().fromJson(jsonObject, clazz));
}
return arrayList;
}
如果需要完整类文件的小伙伴欢迎加入qq群获取群文件(JsonTools.java):579699145