GSON是Google開發的一個用于序列化和反序列化Java對象與JSON數據的Java類庫。在Android應用程序中,經常需要將一個JSON字符串轉換成Java對象列表或者將Java對象列表轉換成一個JSON字符串。GSON提供了簡單易用的API來完成這些轉換操作。
下面是一個示例代碼,演示如何將一個JSON字符串轉換成一個Java的List對象:
// 定義JSON字符串 String jsonStr = "[{\"name\":\"Jack\",\"age\":28},{\"name\":\"Lucy\",\"age\":25}]"; // 將JSON字符串轉換成List對象 List<Person> personList = new Gson().fromJson(jsonStr, new TypeToken<List<Person>>(){}.getType()); // Person類 class Person { String name; int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
在示例代碼中,我們使用GSON提供的fromJson()方法將JSON字符串轉換成Java的List對象。由于GSON對泛型列表的支持并不好,我們需要使用TypeToken類來避免類型擦除的問題。在代碼中,我們定義了一個Person類來存儲JSON中的每個對象的name和age屬性。
如果需要將Java的List對象轉換成一個JSON字符串,我們可以使用GSON提供的toJson()方法,示例如下:
// 定義一個List對象 List<Person> personList = new ArrayList<>(); Person person1 = new Person(); person1.setName("Jack"); person1.setAge(28); Person person2 = new Person(); person2.setName("Lucy"); person2.setAge(25); personList.add(person1); personList.add(person2); // 將List對象轉換成JSON字符串 String jsonStr = new Gson().toJson(personList);
在示例代碼中,我們定義了一個Person類的List對象,創建了兩個Person對象并添加到List中。最后,我們使用GSON提供的toJson()方法將List對象轉換成JSON字符串。