Android Gson工具类

public class GsonUtils {
/**
* @param object bean对象
* @return String json字符串
* @Title toJson
* @description 将javabean对象转成json字符串
*/
public static String toJson(Object object) {
Gson gson = new Gson();
String jsonString = gson.toJson(object);
return jsonString;
}

/**
* @param jsonString 要转换的json字符串
* @param cls bean对象的class
* @return T bean对象
* @Title changeJsonToBean
* @description 将json字符串转成bean对象
*/
public static T changeJsonToBean(String jsonString, Class cls) {
Gson gson = new Gson();
T t = gson.fromJson(jsonString, cls);
return t;
}

/**
* @param jsonString 要转换的json字符串
* @param cls bean对象的class
* @return T bean对象, 可能为空
* @Title changeJsonToBean
* @description 将json字符串转成bean对象
*/
@Nullable
public static T changeJsonToBeanSafely(String jsonString, Class cls) {
try {
return changeJsonToBean(jsonString, cls);
} catch (Exception ignore) {
}
return null;
}

/**
* @Title changeJsonToList
* @description 将json串转成list集合
* 这个类转换的有问题,请使用fromJsonList方法
*/
@Deprecated
public static List changeJsonToList(String jsonString, Class cls) {
Gson gson = new Gson();
List list = gson.fromJson(jsonString, new TypeToken>() {
}.getType());
return list;
}

/**
* 解析列表
*/
public static ArrayList fromJsonList(String json, Class cls) {
Gson gson = new Gson();
ArrayList list = new ArrayList();
JsonArray array = new JsonParser().parse(json).getAsJsonArray();
for (final JsonElement elem : array) {
list.add(gson.fromJson(elem, cls));
}
return list;
}

/**
* 解析列表
*/
@Nullable
public static ArrayList fromJsonListSafely(String json, Class cls) {
try {
return fromJsonList(json, cls);
} catch (Exception e) {

}
return null;
}


/**
* 解析Map
*/
public static List> changeJsonToListMaps(
String jsonString) {
List> list = null;
Gson gson = new Gson();
list = gson.fromJson(jsonString, new TypeToken>>() {
}.getType());
return list;
}

/**
* 解析map
*/
@Nullable
public static List> changeJsonToListMapsSafely(String jsonString) {
try {
return changeJsonToListMaps(jsonString);
} catch (Exception e) {

}
return null;
}

/**
* 解析MAP
*/
public static Map changeJsonToMaps(String jsonString) {
Map map = null;
Gson gson = new Gson();
map = gson.fromJson(jsonString, new TypeToken>() {
}.getType());
return map;
}

/**
* 解析MAP
*/
@Nullable
public static Map changeJsonToMapsSafely(String jsonString) {
try {
return changeJsonToMaps(jsonString);
} catch (Exception e) {

}
return null;
}
}

你可能感兴趣的:(android,windows,java)