最近做项目中遇到json解析,找个这个工具类,不知jsonArray的方法参数怎么传,希望看到的朋友指点下。
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import com.hzzx.meis.bean.InformationSerachBean;
public class GsonUtils {
public GsonUtils() {
}
// 使用Gson进行解析Person
public static <T> T getObject(String jsonString, Class<T> cls) {
T t = null;
try {
Gson gson = new Gson();
t = gson.fromJson(jsonString, cls);
} catch (Exception e) {
// TODO: handle exception
}
return t;
}
// 使用Gson进行解析 List<Person>
public static <T> List<T> getObjects(String jsonString, Class<T[]> cls) {
try {
Gson gson = new Gson();
T[] list = gson.fromJson(jsonString, cls);
return Arrays.asList(list);
} catch (Exception e) {
}
return null;
}
public static <T> List<T> fromJsonArray(String json, Class<T> clazz) throws Exception {
List<T> lst = new ArrayList<T>();
JsonArray array = new JsonParser().parse(json).getAsJsonArray();
for(final JsonElement elem : array){
lst.add(new Gson().fromJson(elem, clazz));
}
return lst;
}
}