JSON字符串转javabean,MorphDynaBean cannot be cast to...问题解决

JSONObject jobj = JSONObject.fromObject(str);     

Student s = (Student) JSONObject.tobean(jobj,Student.class);  

 

是没有问题的,但是如果属性中含有复杂的类型,当其中属性有类似List , Map ,ArrayList、自定义的类型,如List teachers, 就不可以了。 会报错:MorphDynaBean cannot be cast to con.test……

 在JSONObject.toBean的时候如果转换的类中有集合,可以先定义Map classMap = new HashMap();在classMap中put你要转换的类中的集合名,像:classMap.put("teachers", Teacher.class);然后在toBean()的时候把参数加上, 像:Student student=(Student) JSONObject.toBean(str, Student.class, classMap);

你可能感兴趣的:(问题处理)