📜  json数组到java中的列表(1)

📅  最后修改于: 2023-12-03 15:17:05.039000             🧑  作者: Mango

JSON 数组到 Java 中的列表

JSON(JavaScript Object Notation) 是一种常用的数据交换格式。JSON 数组是一组按照特定顺序排列的值。Java 中的列表(List)是一种有序的集合,其中每个元素都可以通过索引进行访问。

在 Java 中,我们可以通过第三方库或者原生方式将 JSON 数组转换为列表。本文将介绍如何将 JSON 数组转换为 Java 中的列表并给出示例代码。

使用第三方库

我们可以使用第三方库,如 JacksonGson 等将 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 数据。