📅  最后修改于: 2023-12-03 15:17:05.039000             🧑  作者: Mango
JSON(JavaScript Object Notation) 是一种常用的数据交换格式。JSON 数组是一组按照特定顺序排列的值。Java 中的列表(List)是一种有序的集合,其中每个元素都可以通过索引进行访问。
在 Java 中,我们可以通过第三方库或者原生方式将 JSON 数组转换为列表。本文将介绍如何将 JSON 数组转换为 Java 中的列表并给出示例代码。
我们可以使用第三方库,如 Jackson、Gson 等将 JSON 数组转换为 Java 中的列表。
以下是使用 Jackson 将 JSON 数组转换为 Java 中的列表的示例代码:
ObjectMapper objectMapper = new ObjectMapper();
String json = "[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"}]";
List<User> userList = objectMapper.readValue(json, new TypeReference<List<User>>(){});
以上代码中,我们先使用 ObjectMapper
类将 JSON 字符串转换为 Java 对象,然后将其解析成一个 List<User>
对象。
如果使用 Gson,可以使用以下代码:
Gson gson = new Gson();
String json = "[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"}]";
Type userListType = new TypeToken<ArrayList<User>>(){}.getType();
List<User> userList = gson.fromJson(json, userListType);
以上代码中,我们首先创建了一个 Gson
对象,然后将 JSON 字符串解析成一个 ArrayList<User>
对象。
Java 中也提供了原生的解析 JSON 数组的方式,以下是示例代码:
String json = "[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"}]";
JSONArray jsonArray = new JSONArray(json);
List<User> userList = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
int id = jsonObject.getInt("id");
String name = jsonObject.getString("name");
userList.add(new User(id, name));
}
以上代码中,我们首先将 JSON 字符串解析成一个 JSONArray
对象,然后遍历 JSONArray
对象中的每个元素,并将其解析成一个 JSONObject
对象,最后将其转换成一个 User
对象并添加到 List<User>
中。
本文介绍了如何将 JSON 数组转换为 Java 中的列表,包括使用第三方库和原生方式。在实际应用中,我们可以根据具体需求选择适合自己的方式来解析 JSON 数据。