在Java開發(fā)中,經(jīng)常會需要對JSON字符串進(jìn)行解析轉(zhuǎn)換成List對象集合。這時(shí)我們可以使用Google的Gson庫來實(shí)現(xiàn)這個(gè)功能。
Gson是Google發(fā)布的一款開源的Java庫,它可以將Java對象序列化為JSON格式,也可以將JSON格式反序列化為Java對象。具有速度快、性能高和易于使用等特點(diǎn)。
//Gson庫的引入 <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.0</version> </dependency>
在使用Gson庫將JSON字符串轉(zhuǎn)換成List對象時(shí),通常需要使用TypeToken類。它可以實(shí)現(xiàn)將指定的類型轉(zhuǎn)換為Type對象,該對象可以獲取泛型參數(shù)的類型。
String jsonString = "[{"name":"Tom", "age":18},{"name":"Jerry", "age":20}]"; Gson gson = new Gson(); Type listType = new TypeToken<List<Person>>(){}.getType(); List<Person> list = gson.fromJson(jsonString, listType);
在上面的代碼中,我們定義了一個(gè)JSON字符串,然后創(chuàng)建了一個(gè)Gson對象。接著創(chuàng)建了一個(gè)TypeToken對象,該對象主要用于實(shí)現(xiàn)List<Person>的類型轉(zhuǎn)換,最后調(diào)用fromJson方法將JSON字符串轉(zhuǎn)換成List對象。
上面的代碼需要自己定義Person類,并且符合JSON的數(shù)據(jù)結(jié)構(gòu):
public class Person { private String name; private 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庫就是這樣簡單易用,而且性能高效,是Java開發(fā)中必不可少的一個(gè)工具庫。