由于javaBean使用外观者(Facade)设计模式,导致该问题的出现。
例如:学生Student类中有属性年级(Grade),Grade类为另一个javaBean。
{
"name":"XXX",
"number":"XXX",
"id":"XXX",
"grade":{
"name":"BBB",
"number":"BBB",
"id":"BBB"
}
}
如果如下代码进行转化时,则就会报类型转换异常错误
Student info = (Student) JSONObject.toBean(fromObject4, Student.class);
解决该方法的解决方案如下:
Map classMap = new HashMap();
classMap.put("testItemsInfos",Grade.class);
Student info = (Student) JSONObject.toBean(fromObject4, Student.class,classMap);