JSONArray 如何转换成list对象
时间: 2023-11-25 21:08:07 浏览: 72
可以使用以下代码将JSONArray转换成List对象:
```java
JSONArray jsonArray = new JSONArray("[\"A\", \"B\", \"C\"]");
List<String> list = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
list.add(jsonArray.getString(i));
}
```
首先,创建一个JSONArray对象,包含需要转换的数据。然后,创建一个空的List对象。接下来,使用for循环遍历JSONArray对象,将每个元素添加到List对象中。最后,List对象包含了JSONArray中的所有元素,可以进行进一步的操作。
相关问题
写一个JSONArray转换成List集合的案例
好的,以下是一个JSONArray转换成List集合的案例:
import org.json.JSONArray;
import java.util.ArrayList;
import java.util.List;
public class JsonArrayToListExample {
public static void main(String[] args) {
String jsonString = "[{\"name\":\"张三\",\"age\":20},{\"name\":\"李四\",\"age\":25}]";
JSONArray jsonArray = new JSONArray(jsonString);
List<Person> personList = new ArrayList<>();
for (int i = ; i < jsonArray.length(); i++) {
String name = jsonArray.getJSONObject(i).getString("name");
int age = jsonArray.getJSONObject(i).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,将每个JSONObject转换成Person对象,最后将Person对象添加到List集合中。最终输出List集合。
JSONArray转成list
将Java的List转换为JSONArray可以使用JSON库,如Gson或Jackson。
使用Gson库:
1. 导入Gson库的依赖:
```
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
```
2. 创建一个List对象:
```
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
```
3. 使用Gson将List转换为JSONArray:
```
Gson gson = new Gson();
JsonElement element = gson.toJsonTree(list, new TypeToken<List<String>>() {}.getType());
JsonArray jsonArray = element.getAsJsonArray();
```
使用Jackson库:
1. 导入Jackson库的依赖:
```
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
```
2. 创建一个List对象:
```
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
```
3. 使用Jackson将List转换为JSONArray:
```
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.convertValue(list, JsonNode.class);
JsonArray jsonArray = node.isArray() ? (JsonArray) node : null;
```
阅读全文