Java google.gson.fromJson,其中ClassSoft是通用数组
如何使用gson.fromJson反序列化泛型类型的数组Java google.gson.fromJson,其中ClassSoft是通用数组,java,android,json,gson,Java,Android,Json,Gson,如何使用gson.fromJson反序列化泛型类型的数组 公共类缓存{ 公共void M(字符串json){ JsonArray ja=(JsonArray)新的JsonParser().parse(json); Gson Gson=new GsonBuilder().create(); T[]items=gson.fromJson(ja,?); } } 这不管用 Type t=new-TypeToken(){}.getType(); T[]items=gson.fromJson(ja,T);
公共类缓存{
公共void M(字符串json){
JsonArray ja=(JsonArray)新的JsonParser().parse(json);
Gson Gson=new GsonBuilder().create();
T[]items=gson.fromJson(ja,?);
}
}
这不管用
Type t=new-TypeToken(){}.getType();
T[]items=gson.fromJson(ja,T);
T[]items=gson.fromJson(ja,T[].class);
T[]items=gson.fromJson(ja,新的T[].getClass());
T[]数组=(T[])数组;
T[]result=gson.fromJson(jsonString,(Type)array.getClass());
List resultList=Arrays.asList(结果);
T[]数组=(T[])数组;
T[]result=gson.fromJson(jsonString,(Type)array.getClass());
List resultList=Arrays.asList(结果);
您可能还应该发布一些示例json,以便人们可以提出备选方案。您可能还应该发布一些示例json,以便人们可以提出备选方案。虽然这段代码可以回答这个问题,提供关于如何和/或为什么解决问题的附加上下文将提高答案的长期价值。虽然此代码可能会回答问题,但提供关于如何和/或为什么解决问题的附加上下文将提高答案的长期价值。
T[] array = (T[]) Array.newInstance(clazz, 0);
T[] result = gson.fromJson(jsonString, (Type) array.getClass());
List<T> resultList = Arrays.asList(result);