string转list对象数组java_JSON的String字符串与Java的List
列。。。
在前端:
1.如果json是List对象转换的,可以直接遍历json,读取数据。
2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所⽰:
var jsonStr = JSON.stringify(list);
var param= {};
param.jsonStr=jsonStr;
在后台:
1.把String转换为List(str转换为list)
List list = new ArrayList();
JSONArray jsonArray = JSONArray.fromObject(str);//把String转换为json
list = List(jsonArray,t);//这⾥的t是Class
在这⾥,因为得到json字符串的时候⽤的是 JSONArray.fromObject(collenction),所有,在讲json字符串转换成json对象的时候,
也只能⽤Collection,并且,⼀定要带上后⾯的class参数。
2.把List转换为json
JSONArray json = JSONArray.fromObject(object);
String str = String();//把json转换为String
再如:
Teacher类中,有三个属性。
private String teaId;
private String teaName;
private List stus;
Teacher teacher_1 = new Teacher("编号1", "教师1", stus);
JSONObject obj = JSONObject.fromObject(teacher_1);
这⼀步,将Teacher 对象转换成json字符串的时候,没有任何的问题。下⾯,将JSONObject 转换成Teacher 对象,如果,不加后⾯的class参数,也会报这⼉错误。加了后,这⼀步也正常。
Teacher teacherBean = (Teacher) Bean(obj, Teacher.class);
Student studentBean = Stus().get(0);
当从teacherBean 对象中取出stus属性的值时候,就会提⽰:
Java.lang.ClassCastException:ph.bean.MorphDynaBean cannot be cast to com.edu.xukai.Student
json转换对象⽤这种⽅式可以解决:
Map classMap = new HashMap();
classMap.put("stus", Student.class);
Teacher teacherBean = (Teacher) Bean(obj, Teacher.class, classMap);
其中map对象是teacherBean对象中各个属性的类型,map额key是属性每次,value是属性的类型。Array(jsonArray, objectClass, classMap)
也⽀持这样的⽅式。
时间: 08-15
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论