将jsonarray 转成一个对象集合
时间: 2023-10-14 19:05:53 浏览: 85
首先,需要解析 JSON 数组并将其转换为 Java 中的 List 对象。可以使用 Java 自带的 JSON 解析库,例如 org.json 和 com.alibaba.fastjson 等。
以 org.json 库为例,假设我们有一个 JSON 数组字符串如下:
```
[
{"name": "Alice", "age": 20},
{"name": "Bob", "age": 23},
{"name": "Charlie", "age": 25}
]
```
可以使用以下代码将其转换为一个包含三个对象的 List:
```java
import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class JsonArrayToObjectList {
public static void main(String[] args) {
String jsonArrayStr = "[{\"name\": \"Alice\", \"age\": 20}, {\"name\": \"Bob\", \"age\": 23}, {\"name\": \"Charlie\", \"age\": 25}]";
JSONArray jsonArray = new JSONArray(jsonArrayStr);
List<Person> personList = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
Person person = new Person(name, age);
personList.add(person);
}
System.out.println(personList);
}
static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
}
```
其中,我们先将 JSON 字符串转换为 JSONArray 对象,然后遍历 JSONArray 中的每个元素,获取其属性值并创建对应的 Person 对象,最终将 Person 对象添加到 List 中。
输出结果:
```
[Person{name='Alice', age=20}, Person{name='Bob', age=23}, Person{name='Charlie', age=25}]
```
阅读全文