Gson是Google提供的一款Java庫,用于將Java對象與JSON格式相互轉化。其中,Gson可以處理JSON對象、JSON數組等多種JSON數據類型。本文將主要介紹Gson中如何處理JSON數組類型:List對象。
Gson的處理JSON數組的方法非常簡單。在使用Gson將JSON轉化為Java對象時,如果JSON數據中包含List對象,只需要將Java對象的類型設置為List即可。
//JSON數據示例
String json = "[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":19}]";
//將JSON轉化為Java對象
Type listType = new TypeToken<ArrayList<Person>>(){}.getType();
List<Person> personList = new Gson().fromJson(json, listType);
可以看出,與普通的Java對象轉化相比,List對象需要多定義一個Type類型,并將其作為Gson的參數傳入,指定List中元素的類型。
反過來,如果要將Java中的List對象轉化為JSON數據,同樣只需將Java對象傳入Gson的toJson方法中,Gson便會自動將Java對象轉化為JSON字符串。轉化后的JSON數據中,List類型會被表示為JSON數組。
//Java對象示例
List<Person> personList = new ArrayList<>();
personList.add(new Person("Tom", 18));
personList.add(new Person("Jerry", 19));
//將Java對象轉化為JSON數據
String json = new Gson().toJson(personList);
最終得到的JSON數據結果如下:
[
{"name":"Tom","age":18},
{"name":"Jerry","age":19}
]
綜上所述,Gson可以很方便地處理List對象,使得Java對象的序列化與反序列化更加簡單。