JSON数组转LIST集合的两种方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JSON数组转LIST集合的两种方法
在Java中,可以使用两种方法将JSON数组转换为List集合。

以下是关于这两种方法的详细说明。

方法一:使用Gson库将JSON数组转换为List集合
Gson是Google开发的一个Java库,用于处理JSON数据。

通过使用Gson库,可以轻松地将JSON数组转换为List集合。

首先,您需要在您的项目中添加Gson库的依赖。

可以通过在pom.xml文件中添加以下代码来完成依赖的添加:
```
<dependencies>
<dependency>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
</dependencies>
```
接下来,您需要使用Gson对象来解析JSON数组并将其转换为List 集合:
```java
public class Main
public static void main(String[] args)
//JSON数组的示例字符串
String jsonArray = "[{\"id\": 1, \"name\": \"John\"}, {\"id\": 2, \"name\": \"Jane\"}]";
// 创建Gson对象
Gson gson = new Gson(;
// 使用TypeToken获取List的类型
TypeToken<List<Person>> typeToken = new
TypeToken<List<Person>>( {};
// 将JSON数组转换为List集合
List<Person> personList = gson.fromJson(jsonArray, typeToken.getType();
// 输出List集合的内容
for (Person person : personList)
System.out.println(person.getId( + ": " + person.getName();
}
}
// Person类的示例
class Person
private int id;
private String name;
// getters 和 setters
public int getI
return id;
}
public void setId(int id)
this.id = id;
}
public String getNam
return name;
}
public void setName(String name)
= name;
}
```
上述代码使用了TypeToken类来获取List类型。

这是由于Gson在运行时无法获取泛型的信息。

通过创建一个TypeToken对象,我们可以传递List<Person>的类型,以便将JSON数组正确地转换为相应的List集合。

方法二:使用Jackson库将JSON数组转换为List集合
Jackson是另一个流行的Java库,用于处理JSON数据。

通过使用Jackson库,也可以将JSON数组转换为List集合。

首先,您需要在您的项目中添加Jackson库的依赖。

可以通过在pom.xml文件中添加以下代码来完成依赖的添加:
```
<dependencies>
<dependency>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
</dependencies>
```
接下来,您需要使用ObjectMapper对象来解析JSON数组并将其转换为List集合:
```java
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Main
public static void main(String[] args)
//JSON数组的示例字符串
String jsonArray = "[{\"id\": 1, \"name\": \"John\"}, {\"id\": 2, \"name\": \"Jane\"}]";
// 创建ObjectMapper对象
ObjectMapper objectMapper = new ObjectMapper(;
// 定义List集合的类型
List<Person> personList = new ArrayList<>(;
try
// 将JSON数组转换为List集合
personList = objectMapper.readValue(jsonArray, new TypeReference<List<Person>>({});
// 输出List集合的内容
for (Person person : personList)
System.out.println(person.getId( + ": " + person.getName();
}
} catch (IOException e)
e.printStackTrace(;
}
}
// Person类的示例
class Person
private int id;
private String name;
// getters 和 setters
public int getI
return id;
}
public void setId(int id)
this.id = id;
}
public String getNam
return name;
}
public void setName(String name) = name;
}
```
上述代码使用了ObjectMapper类的readValue方法将JSON数组转换为List集合。

在此过程中,需要使用TypeReference类来指定
List<Person>的类型,以便将JSON数组正确地转换为相应的List集合。

这样,就介绍了使用Gson库和Jackson库分别将JSON数组转换为List集合的两种方法。

您可以根据自己的项目需求选择适合的方法来进行JSON数组的转换。

无论您选择哪种方法,都可以轻松地将JSON数组转换为List集合,以便在Java代码中进行处理。

相关文档
最新文档