Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java google.gson.fromJson,其中ClassSoft是通用数组_Java_Android_Json_Gson - Fatal编程技术网

Java google.gson.fromJson,其中ClassSoft是通用数组

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);

如何使用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);
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);