淘先锋技术网

首页 1 2 3 4 5 6 7

Gson是一个 Java 库,它可以把 JSON 字符串转换为 Java 对象,以及把 Java 对象转换为 JSON 字符串。使用 Gson 可以很方便地对 JSON 对象进行解析和操作,常用的功能之一就是将 JSON 字符串转为 List。

使用 Gson 将 JSON 转为 List 的代码如下:

Gson gson = new Gson();
Type type = new TypeToken<List<YourObjectType>>(){}.getType();
List<YourObjectType> yourList = gson.fromJson(jsonString, type);

其中,YourObjectType 就是你要将 JSON 转换成的 Java 对象类型。

解析过程比较简单,首先需要创建一个 Gson 对象。然后定义一个 Type 类型,TypeToken 的作用就是为了方便创建这个 Type 类型。

最后,通过 fromJson() 方法将 JSON 字符串解析成 List。

完整的示例代码如下:

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
public class JsonToListExample {
public static void main(String[] args) {
String jsonString = "[{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}, " +
"{\"name\":\"Jane\", \"age\":25, \"city\":\"San Francisco\"}]";
Gson gson = new Gson();
Type type = new TypeToken<List<Person>>(){}.getType(); // 解析成 List<Person>
List<Person> personList = gson.fromJson(jsonString, type);
for (Person person : personList) {
System.out.println(person);
}
}
}
class Person {
private String name;
private int age;
private String city;
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;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", city='" + city + '\'' +
'}';
}
}

上面的示例代码将一个包含两个 Person 对象的 JSON 字符串解析成了 List<Person>,然后输出了每个 Person 的信息。

Gson 将 JSON 字符串转为 List 的操作就介绍到这里,希望对大家有所帮助。