jsonarray和arraylist的区别
时间: 2023-05-03 11:01:59 浏览: 295
JSONArray 是由 Java 的 JSONArray 类封装的 JSON 格式的数组,而 ArrayList 是 Java util 包中的类,可以理解为动态数组。JSONArray 主要是用于处理 JSON 数据,而 ArrayList 可以用于存储各种对象的列表。两者的区别在于用途不同,JSONArray 适用于处理 JSON 数据,而 ArrayList 则适用于存储一般的对象列表。
相关问题
JSONArray 和arraylist tostring的区别
JSONArray 和 ArrayList 在调用 toString() 方法时的区别在于输出的格式。
对于 JSONArray,调用其 toString() 方法会返回 JSON 格式的字符串表示。例如,如果 JSONArray 中包含两个元素 "foo" 和 "bar",调用 toString() 方法将返回字符串 "[\"foo\", \"bar\"]",这符合 JSON 格式的数组表示。
而对于 ArrayList,调用其 toString() 方法会返回一个表示列表内容的字符串。例如,如果 ArrayList 中包含两个元素 "foo" 和 "bar",调用 toString() 方法将返回字符串 "[foo, bar]",这是一个普通的列表表示。
因此,JSONArray 的 toString() 方法返回的是 JSON 格式的字符串,而 ArrayList 的 toString() 方法返回的是普通列表的字符串表示。
jsonArray 如何转换成一个 ArrayList
可以使用FastJSON中提供的API将JSONArray转换为ArrayList。示例代码如下:
```java
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
String jsonString = "[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"},{\"id\":3,\"name\":\"Charlie\"}]";
JSONArray jsonArray = JSONArray.parseArray(jsonString);
ArrayList<Person> personList = jsonArray.toJavaList(Person.class);
System.out.println(personList);
}
static class Person {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Person{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
}
```
在这个示例中,我们将一个JSON字符串解析为JSONArray对象,然后使用`toJavaList`方法将其转换为ArrayList对象。注意,`toJavaList`方法需要一个`TypeReference`对象作为参数,我们可以使用`new TypeReference<ArrayList<Person>>()`来创建这个对象,也可以使用类似`Person.class`的方式来创建。在这个示例中,我们使用后者。
阅读全文