Gson是一種Java庫,用于將Java對象轉換為JSON表示形式和從JSON數據轉換回Java對象。JSON是一種輕量級的數據交換格式,常用于Web應用程序之間的數據交換。Gson使得Java對象和JSON數據之間的轉換變得非常容易。
在Gson中,我們可以使用fromJson方法將JSON字符串轉換為Java對象。當我們需要將JSON字符串轉換為Java對象集合時,我們可以使用TypeToken類來描述集合的類型。
Type collectionType = new TypeToken<List<MyObject>>(){}.getType(); List<MyObject> myObjects = gson.fromJson(json, collectionType);
在這個例子中,我們定義了一個TypeToken來表示一個List
這是一個完整的示例代碼:
import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.List; public class GsonDemo { public static void main(String[] args) { String json = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]"; Gson gson = new Gson(); Type collectionType = new TypeToken<List<MyObject>>(){}.getType(); List<MyObject> myObjects = gson.fromJson(json, collectionType); for (MyObject myObject : myObjects) { System.out.println(myObject.getName() + " is " + myObject.getAge() + " years old."); } } private static class MyObject { private String name; private int age; public MyObject(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } } }
在這個例子中,我們定義了一個MyObject類來表示我們要解析的JSON對象。然后,我們使用Gson將JSON字符串轉換為Java對象集合,并打印每個對象的屬性。
總之,Gson使得將JSON數據轉換為Java對象集合變得非常容易,我們只需要定義一個TypeToken來描述集合的類型。