java jsonString 转 list 对象
时间: 2023-08-04 09:35:21 浏览: 131
Java中JSON字符串与java对象的互换实例详解
要将一个 JSON 字符串转换为 Java 中的 List 对象,可以使用 Jackson 库。具体步骤如下:
1. 导入 Jackson 的依赖包,例如在 Maven 项目中可以添加以下依赖:
```xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.5</version>
</dependency>
```
2. 创建一个 ObjectMapper 对象,用于将 JSON 字符串转换为 Java 对象:
```java
ObjectMapper objectMapper = new ObjectMapper();
```
3. 调用 ObjectMapper 的 readValue() 方法,将 JSON 字符串转换为 List 对象:
```java
String jsonString = "[{\"name\":\"Alice\",\"age\":20},{\"name\":\"Bob\",\"age\":25}]";
List<Person> personList = objectMapper.readValue(jsonString, new TypeReference<List<Person>>(){});
```
在这个例子中,我们将一个包含两个 Person 对象的 JSON 数组转换为一个 List<Person> 对象。注意,我们使用了 TypeReference 类来指定转换的目标类型。
完整的示例代码如下:
```java
import java.util.List;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonToListExample {
public static class Person {
public String name;
public int age;
}
public static void main(String[] args) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
String jsonString = "[{\"name\":\"Alice\",\"age\":20},{\"name\":\"Bob\",\"age\":25}]";
List<Person> personList = objectMapper.readValue(jsonString, new TypeReference<List<Person>>(){});
for (Person person : personList) {
System.out.println(person.name + " is " + person.age + " years old.");
}
}
}
```
输出结果为:
```
Alice is 20 years old.
Bob is 25 years old.
```
阅读全文