JSONObject jobj = JSONObject.fromObject(str);
WechatPush s = (Student) JSONObject.tobean(jobj,WechatPush.class);
是不会报错的,但是如果属性中含有复杂的类型,当其中属性有类似List , Map ,自定义的类型,如List<Response> results, 就不可以了。 通过对象getList的时候会报错:MorphDynaBean cannot be cast to con.test……
在JSONObject.toBean的时候如果转换的类中有集合,可以先定义Map<String, Class> classMap = new HashMap<String, Class>();在classMap中put你要转换的类中的集合名,像:classMap.put("results", Response.class);然后在toBean()的时候把参数加上, 像:WechatPush wp=(WechatPush) JSONObject.toBean(str, WechatPush.class, classMap);
这样getList才不会报以上的异常。