java json数组转java实体类对象
时间: 2023-10-22 15:05:07 浏览: 39
假设你有一个 JSON 数组如下:
```
[
{
"name": "John",
"age": 30,
"email": "john@example.com"
},
{
"name": "Jane",
"age": 25,
"email": "jane@example.com"
}
]
```
你可以使用 Jackson 库将该 JSON 数组转换为 Java 实体类对象,示例代码如下:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
String json = "[{\"name\":\"John\",\"age\":30,\"email\":\"john@example.com\"},{\"name\":\"Jane\",\"age\":25,\"email\":\"jane@example.com\"}]";
ObjectMapper objectMapper = new ObjectMapper();
List<Person> persons = Arrays.asList(objectMapper.readValue(json, Person[].class));
System.out.println(persons);
}
}
class Person {
private String name;
private int age;
private String email;
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;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", email='" + email + '\'' +
'}';
}
}
```
上述代码中,我们使用了 Jackson 库的 `ObjectMapper` 类将 JSON 数组转换为 `List<Person>` 对象。`Person` 类对应 JSON 数组中的每个 JSON 对象,其中的属性与 JSON 对象中的键值对一一对应。`Arrays.asList(objectMapper.readValue(json, Person[].class))` 将 JSON 数组转换为 `Person` 对象数组,并利用 `Arrays.asList` 转换为 `List<Person>` 对象。最后,我们打印输出该 `List<Person>` 对象。