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 数据中有多个数组的方法。