我有一种从服务中读取 JSON 的方法,我正在使用 Gson 进行序列化,并使用类型参数编写了以下方法。
public T getDeserializedJSON(Class<T> aClass,String url)
{
Reader r = getJSONDataAsReader(url);
Gson gson = new Gson();
return gson.fromJson(r, aClass);
}
我正在使用 json ,它只返回一个类型的数组,例如
[
{ "prop":"value" }
{ "prop":"value" }
]
我有一个映射到这个对象的 java 类,我们称之为 MyClass。但是要使用我的方法,我需要这样做:
RestClient<ArrayList<MyClass>> restClient = new RestClient<ArrayList<MyClass>>();
ArrayList<MyClass> results = restClient.getDeserializedJSON(ArrayList<MyClass>.class, url);
但是,我无法弄清楚执行此操作的语法。仅传递 ArrayList.class 不起作用。
那么有没有办法可以摆脱 Class 参数或如何获取 MyClass 的 ArrayList 的类?