我得到一个json类,如何使用java的Gson解析为list
时间: 2024-05-05 09:21:19 浏览: 100
假设你的JSON数据如下:
```json
[
{"id":1,"name":"John"},
{"id":2,"name":"Jane"},
{"id":3,"name":"Bob"}
]
```
你可以按照以下步骤使用Gson解析JSON数据,并将其转换为一个List对象。
1. 定义一个Java类,用于表示JSON中的每个对象:
```java
public class Person {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
```
2. 使用Gson解析JSON数据并将其转换为List对象:
```java
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
public class Main {
public static void main(String[] args) {
String json = "[{\"id\":1,\"name\":\"John\"},{\"id\":2,\"name\":\"Jane\"},{\"id\":3,\"name\":\"Bob\"}]";
Gson gson = new Gson();
Type type = new TypeToken<List<Person>>() {}.getType();
List<Person> people = gson.fromJson(json, type);
for (Person person : people) {
System.out.println(person.getName());
}
}
}
```
解释一下上面的代码:
- 第1行:导入Gson类。
- 第2行:导入TypeToken类,用于表示List<Person>类型。
- 第4-12行:定义一个Person类,用于表示JSON中的每个对象。
- 第14行:定义一个JSON字符串。
- 第15行:创建一个Gson对象。
- 第16行:创建一个TypeToken对象,用于表示List<Person>类型。
- 第17行:调用Gson的fromJson方法解析JSON数据,并将其转换为List<Person>对象。
- 第18-21行:打印List中每个Person对象的姓名。
运行上面的代码,将会输出以下内容:
```
John
Jane
Bob
```
希望这个例子可以帮助你解决问题。
阅读全文