博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
net.sf.ezmorph.bean.MorphDynaBean cannot be cast to com.console.demo.web.model.XXX
阅读量:7210 次
发布时间:2019-06-29

本文共 1833 字,大约阅读时间需要 6 分钟。

hot3.png

前景:

net.sf.ezmorph.bean.MorphDynaBean cannot be cast to com.console.demo.web.model.XXX

//jsonObject:所有参数//FreightTemplate对象里面包含一个 private List
freightTemplateCity; 类似于一父多子FreightTemplate freightTemplate = (FreightTemplate) JSONObject.toBean(JSONObject.fromObject(jsonObject.get("freightTemplate")), FreightTemplate.class);//先新增freightTemplatebusinessDao.insertSelective(freightTemplate);//取出子list对象List
freightTemplateCities = freightTemplate.getFreightTemplateCity();//遍历新增子对象//PS:这句for循环报的错for (FreightTemplateCity freightTemplateCity : freightTemplateCities) {
freightTemplateCity.setTemplateId(freightTemplate.getId()); businessDao.insertFreightTemplateCity(freightTemplateCity);}

发现我的子对象自动被转换成了net.sf.ezmorph.bean.MorphDynaBean对象,找了半天不知道哪里转成这个的,于是想到直接把

JSONObject object = (JSONObject) jsonObject.get("freightTemplate");//从所有对象里取到父对象,转成JSONObject类型JSONArray array = (JSONArray) object.get("freightTemplateCity");//从JSONObject里面取到"freightTemplateCity"转成JSONArray格式

然后JSONArray就可以直接转list了,下面贴代码

FreightTemplate freightTemplate = (FreightTemplate) JSONObject.toBean(JSONObject.fromObject(jsonObject.get("freightTemplate")), FreightTemplate.class);//先新增freightTemplatebusinessDao.insertSelective(freightTemplate);//------------这一段转换对象类型----------------JSONObject object = (JSONObject) jsonObject.get("freightTemplate");JSONArray array = (JSONArray) object.get("freightTemplateCity");List
list = JSONArray.toList(array, new FreightTemplateCity(), new JsonConfig());//----------------------------for (FreightTemplateCity freightTemplateCity : list) { freightTemplateCity.setTemplateId(freightTemplate.getId()); businessDao.insertFreightTemplateCity(freightTemplateCity);}

但是因为不知道具体发生转换的原因,不知道这样做有没有什么影响,如果有其他好的办法,望不吝啬指教一下

转载于:https://my.oschina.net/u/3526783/blog/3024439

你可能感兴趣的文章
市盈率
查看>>
阿里面试题剖析,如何保证消息不被重复消费?
查看>>
JS动态加载
查看>>
对inline-block的一点总结
查看>>
Nginx源码 —— 第一篇
查看>>
【重大更新】Power BI Desktop 迎来2019年重大更新!引进全新数据连接器!
查看>>
Activiti6.0 spring5 工作流引擎 java SSM流程审批 项目框架
查看>>
SQLServer之FOREIGN KEY约束
查看>>
vue jsx 不完全指北
查看>>
ie兼容踩坑
查看>>
如何爬取ajax网页之爬取雪球网文章
查看>>
从斐波那契数列谈谈代码的性能优化
查看>>
React小知识(4) - dva源码之dynamic
查看>>
解救开发人员写文档的痛苦
查看>>
OPPO R5s在哪里打开usb调试模式的详细教程
查看>>
大厂的 Android 应用都在用开源框架
查看>>
git学习之git reflog和git cherry-pick
查看>>
福利: 由浅入深的 Web Server 免费电子书
查看>>
R.swift-优雅地引用项目资源
查看>>
Echarts单独对Y轴单位进行文本样式修改
查看>>