今天遇到个错误
因为JSONObject.toBean()把JSON字符串转换为一个自己定义的类,当其中属性有类似List , Map ,ArrayList的时候,麻烦就来了
错误:MorphDynaBean cannot be cast to com.softright.bean.TestBean
解决方法:
在JSONObject.toBean的时候
如果转换的类中有集合,可以先定义Map<String, Class> classMap = new HashMap<String, Class>();
在classMap中put你要转换的类中的集合名,像:classMap.put("data", StoDataInfo.class);
当然也可以put一个集合类("data",Map.class)
然后在toBean()的时候把参数加上, 像:ShenTongInfo stInfo=(ShenTongInfo) JSONObject.toBean(o, ShenTongInfo.class, classMap);
具体参考: