json字符串转list集合

假设你有一个JSON字符串,其中包含多个JSON对象,如下所示:

[{"name": "John", "age": 30}, {"name": "Jane", "age": 25}, {"name": "Bob", "age": 40}]

现在你需要将这个JSON字符串转换为一个Java集合,每个元素都是一个包含“name”和“age”属性的Java对象。下面是一个示例代码:

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.List;
public class JsonToListExample {
    private static final ObjectMapper objectMapper = new ObjectMapper();
    public static void main(String[] args) throws IOException {
        String jsonStr = "[{\"name\": \"John\", \"age\": 30}, {\"name\": \"Jane\", \"age\": 25}, {\"name\": \"Bob\", \"age\": 40}]";
        List<Person> personList = objectMapper.readValue(jsonStr, new TypeReference<List<Person>>(){});
        System.out.println(personList);
    }
    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;
        }
        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    }
}

输出结果如下:

[Person{name='John', age=30}, Person{name='Jane', age=25}, Person{name='Bob', age=40}]

在上面的示例代码中,我们使用了Jackson库来实现将JSON字符串转换为Java集合。我们首先导入了ObjectMapper类和TypeReference类,它们都是Jackson库的核心类之一。然后,我们定义了一个包含JSON字符串的变量“jsonStr”。接下来,我们使用“objectMapper.readValue()”方法将JSON字符串转换为Java集合,并将其存储在“personList”变量中。需要注意的是,我们使用了TypeReference类来指定集合的元素类型。最后,我们打印了该集合对象。

需求说明:该代码实现了将一个JSON字符串转换为Java集合,其中每个元素都是一个包含“name”和“age”属性的Java对象的需求。这个集合可以用于后续的数据操作,例如在Java应用程序中进行数据渲染。