JSON字符串转换object错误:MorphDynaBean cannot be cast to com.softright.bean.TestBean,类中有集合类型的属性

今天遇到个错误

因为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);


具体参考:http://stackoverflow.com/questions/6000370/using-json-lib-to-transform-to-java-throws-classcastexception

posted @ 2012-02-08 11:47  大T  阅读(2447)  评论(1编辑  收藏  举报