jackson转换json为list集合
时间: 2023-08-28 08:02:20 浏览: 139
### 回答1:
Jackson可以将JSON字符串转换为Java对象,也可以将Java对象转换为JSON字符串。如果要将JSON字符串转换为List集合,可以使用以下代码:
```
ObjectMapper objectMapper = new ObjectMapper();
List<MyObject> myObjects = objectMapper.readValue(jsonString, new TypeReference<List<MyObject>>(){});
```
其中,MyObject是自定义的Java对象,jsonString是要转换的JSON字符串。使用TypeReference可以指定要转换的集合类型。转换后,myObjects就是一个List集合,其中包含了从JSON字符串中解析出来的多个MyObject对象。
注意,使用Jackson进行JSON转换时,需要引入jackson-databind库。
### 回答2:
在Java中,我们可以使用Jackson库将JSON转换为List集合。
首先,我们需要在pom.xml文件中添加Jackson库的依赖:
```xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.3</version>
</dependency>
```
然后,我们可以使用以下代码将JSON字符串转换为List集合:
```java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.List;
public class JsonToListConverter {
public static void main(String[] args) {
String jsonString = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]";
ObjectMapper objectMapper = new ObjectMapper();
try {
List<Person> personList = objectMapper.readValue(jsonString, new TypeReference<List<Person>>() {});
for (Person person : personList) {
System.out.println("Name: " + person.getName() + ", Age: " + person.getAge());
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static class Person {
private String name;
private int age;
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;
}
}
}
```
在上面的代码中,我们首先定义了一个包含"name"和"age"属性的Person类。然后,我们使用ObjectMapper类的readValue方法将JSON字符串转换为List<Person>类型,并使用TypeReference将其指定为目标类型。
最后,我们可以遍历List集合并访问每个Person对象的属性。
这样,我们就成功地将JSON转换为List集合了。
阅读全文