Gson库提供了一个名为com.google.gson.reflect.TypeToken的类,用于通过创建Gson TypeToken类并传递类类型来存储通用类型。 使用这种类型,Gson可以知道在通用类中传递的类。
语法public class TypeToken extends Object
在下面的示例中,我们可以将JSON数组反序列化为列表的通用类型
示例import java.lang.reflect.Type;
import java.util.*;
import com.google.gson.*;
import com.google.gson.reflect.*;
public class JSONArrayToListTest {
public static void main(String args[]) throws Exception {
String jsonStr = "[{\"name\":\"Adithya\", \"course\":\"Java\"}," + "{\"name\":\"Ravi\", \"course\":\"Python\"}]";
Type listType = new TypeToken>() {}.getType();
List students = new Gson().fromJson(jsonStr, listType);
System.out.println(students);
}
}
//学生班
class Student {
String name;
String course;
@Override
public String toString() {
return "Student [name=" + name + ", course=" + course + "]";
}
}
输出结果[Student [name=Adithya, course=Java], Student [name=Ravi, course=Python]]