您的位置:首页 > 移动开发 > Objective-C

net.sf.ezmorph.bean.MorphDynaBean cannotbe cast to xxx

2017-12-11 17:53 274 查看
今天正好遇到这个错误,感谢网站的一位前辈指教,写了个精简版的分享给大家。
public class ProductPoiModel {//大数据需要字段private String code;private String message;private Result result;
get/set方法
}
public class Result {//基本信息private BaseInfo baseInfo;//企业业务信息private List<Product> products;//欠税公告信息private List<Owntax> owntaxes;//税务评级信息private List<Taxcredit> taxcredits;
get/set方法
}
将str解析成json的时候
String str = "{\"code\":\"2000\",\"message\":\"成功\",\"result\":{\"baseInfo\":{\"approvedTime\":1504713600000,\"busines。。。。。
使用如下方法时候:
JSONObject json = JSONObject.fromObject(str);ProductPoiModel poiModel = (ProductPoiModel)JSONObject.toBean(json, ProductPoiModel.class);
就会报错net.sf.ezmorph.bean.MorphDynaBean cannotbe cast to ProductPoiModel
解决办法:
Map<String,Object> hashMap = new HashMap<>();hashMap.put("taxcredits",Taxcredit.class);hashMap.put("products",Product.class);hashMap.put("owntaxes",Owntax.class);JSONObject json = JSONObject.fromObject(str);ProductPoiModel poiModel = (ProductPoiModel)JSONObject.toBean(json, ProductPoiModel.class,hashMap);
加上类型.class 转换的时候就可以放值到对应的list里面了。不然它找不到。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐