当先锋百科网

首页 1 2 3 4 5 6 7

Gson 是 Google 提供的用于 Java 序列化 / 反序列化 Java 对象和 JSON 数据的库。它支持从 JSON 数据解析出 Java 对象,也能够将 Java 对象序列化为 JSON 数据。

在实际项目中,我们可能会碰到 JSON 数据中有多个数组的情况。那么该如何使用 Gson 解析这类 JSON 数据呢?

// 示例 JSON 数据
{
	"students": [
{
"name": "张三",
"age": 18
},
{
"name": "李四",
"age": 20
}
	],
	"teachers": [
{
"name": "王老师",
"subject": "数学"
},
{
"name": "李老师",
"subject": "语文"
}
	]
}

在上述示例中,我们可以看到有两个数组,students 和 teachers。我们可以通过以下方式来解析:

// 创建 Gson 对象
Gson gson = new Gson();
// 解析 students 数组
Type studentType = new com.google.gson.reflect.TypeToken<List<Student>>(){}.getType();
List<Student> students = gson.fromJson(jsonStr, studentType);
// 解析 teachers 数组
Type teacherType = new com.google.gson.reflect.TypeToken<List<Teacher>>(){}.getType();
List<Teacher> teachers = gson.fromJson(jsonStr, teacherType);

通过 reflect.TypeToken 获取对应的 Type 对象,然后传递给 fromJson 方法即可解析。

以上就是使用 Gson 解析 JSON 数据中有多个数组的方法。