Gson thư viện cung cấp một lớp có tên com.google.gson.reflect.TypeToke n để lưu trữ các loại chung bằng cách tạo Gson TypeToken lớp và vượt qua loại lớp. Sử dụng loại này, Gson có thể biết lớp được truyền trong lớp chung.
Cú pháp
public class TypeToken<T> extends Object
Chúng tôi có thể giải mã hóa mảng JSON thành một loại danh sách chung trong ví dụ dưới đây
Ví dụ
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<ArrayList<Student>>() {}.getType(); List<Student> students = new Gson().fromJson(jsonStr, listType); System.out.println(students); } } // Student class class Student { String name; String course; @Override public String toString() { return "Student [name=" + name + ", course=" + course + "]"; } }
Đầu ra
[Student [name=Adithya, course=Java], Student [name=Ravi, course=Python]]