Gson लाइब्रेरी com.google.gson.reflect.TypeToken नामक एक क्लास प्रदान करती है जिसका उपयोग Gson TypeToken क्लास बनाकर और क्लास टाइप पास करके जेनेरिक टाइप्स को स्टोर करने के लिए किया जाता है। इस टाइप का उपयोग करके, Gson जेनेरिक क्लास में पास की गई क्लास को जान सकता है।
सिंटैक्स
public class TypeToken<T> 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<ArrayList<Student>>() {}.getType();
List<Student> students = new Gson().fromJson(jsonStr, listType);
System.out.println(students);
}
}
// Student क्लास
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]]