หากคลาส 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]