यदि कोई Java क्लास जेनेरिक टाइप है और हम इसे Gson लाइब्रेरी के साथ JSON सीरियलाइज़ेशन और डिसीरियलाइज़ेशन के लिए उपयोग कर रहे हैं। Gson लाइब्रेरी com.google.gson.reflect.TypeToken नामक एक क्लास प्रदान करती है जो Gson TypeToken क्लास बनाकर और क्लास टाइप पास करके जेनेरिक टाइप्स को स्टोर करती है। इस टाइप का उपयोग करके, Gson जेनेरिक क्लास में पास की गई क्लास को जान सकता है।
सिंटैक्स
public class TypeToken<T> extends java.lang.Object
उदाहरण
import java.lang.reflect.Type;
import java.util.*;
import com.google.gson.*;
import com.google.gson.reflect.*;
public class GenericTypesJSONTest {
public static void main(String[] args) {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
List<String> list = Arrays.asList("INDIA", "AUSTRALIA", "ENGLAND", "SOUTH AFRICA");
String jsonStr = gson.toJson(list);
System.out.println(jsonStr);
Type listType = new TypeToken<List<String>>() {}.getType();
list = gson.fromJson(jsonStr, listType);
System.out.println(list);
}
}
आउटपुट
[
"INDIA",
"AUSTRALIA",
"ENGLAND",
"SOUTH AFRICA"
]
[INDIA, AUSTRALIA, ENGLAND, SOUTH AFRICA]