乐闻世界logo
搜索文章和话题

How to Parse JSON Array with Gson

4 个月前提问
3 个月前修改
浏览次数49

1个答案

1

当需要在Java中使用Gson库解析JSON数组时,通常的步骤是首先定义一个与JSON数据结构匹配的Java类,然后使用Gson对象将JSON字符串转换成Java对象的集合。

以下是一个具体的例子来说明如何处理这一过程。

假设我们有以下的JSON数组:

json
[ { "name": "Alice", "age": 25 }, { "name": "Bob", "age": 30 } ]

首先,我们需要定义一个Java类来映射这个JSON对象的结构。例如:

java
public class Person { private String name; private int age; // 构造方法 public Person() {} // 省略getter和setter方法 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库来解析这个JSON数组。这里是解析的步骤:

java
import com.google.gson.reflect.TypeToken; import com.google.gson.Gson; import java.lang.reflect.Type; import java.util.List; public class JsonParser { public static void main(String[] args) { String json = "[{\"name\":\"Alice\",\"age\":25},{\"name\":\"Bob\",\"age\":30}]"; Gson gson = new Gson(); Type userListType = new TypeToken<List<Person>>(){}.getType(); List<Person> userList = gson.fromJson(json, userListType); for (Person user : userList) { System.out.println("Name: " + user.getName() + ", Age: " + user.getAge()); } } }

在这个例子中,我们使用TypeToken来获取表示List<Person>类型的Type实例,它是必需的,因为Java的泛型在运行时是类型擦除的。通过传递这个类型实例,Gson能够正确地将JSON数组解析成List<Person>对象。

以上就是使用Gson解析JSON数组的一个基本流程和示例。这种方法可以很容易地扩展到更复杂的JSON结构和更大的数据集合。

2024年6月29日 12:07 回复

你的答案