数组对象类型的json数据如何转换成数组或list
json中包含数组对象的数据转换成list
1.我们现在有个json数据
[{“name”:“张三”,“age”:16},{“name”:“李四”,“age”:18}]
接下来我们需要对它进行转换
首先我们需要一个实体类,实体类必须匹配好上面的字段名和类型
public class Person {
private String name;
private Integer age;
//省略get/set/toString方法
}
在转换之前注意需要导入的jar包fastjson-1.2.60.jar
下面开始进行转换
public static void main(String[] args) {
String json = "[{\"name\":\"张三\",\"age\":16},{\"name\":\"李四\",\"age\":18}]";
//将json数据转换成json数组
JSONArray jsonArray=JSONArray.parseArray(json);
//准备好集合,存放数据
List<Person> persons = new ArrayList<>();
//遍历json数组,添加到集合
//以下2中方式都可以实现
// for (int i=0;i<jsonArray.size();i++){
// //通过下标获取json数组中的数据
// persons.add(JSON.toJavaObject(jsonArray.getJSONObject(i),Person.class));
// }
for(Object object : jsonArray){
//通过下标获取json数组中的数据
persons.add(JSON.toJavaObject((JSON) object,Person.class));
}
for(Person t : persons){
System.out.println(t);
}
}
这个json工具包中还有很多对json数据进行处理的方法,大家有时间可以去看看
阿里巴巴的FastJson使用介绍:
https://www.w3cschool.cn/fastjson/fastjson-quickstart.html