net.sf.ezmorph.bean.MorphDynaBean cannot be cast to java.util.Map如何解决

在开发表格组件的时候,有设置多级表头的需求,前端json数据格式为List>>>,即List>格式,若直接使用

List> querys=(List>)JSONArray.toList(chosendimes,Map.class);
for (Iterator iterator = querys.iterator(); iterator.hasNext();) {
    Map map = (Map) iterator.next();
    List list = (ArrayList) map.get("children");
    for (Iterator iterator2 = list.iterator(); iterator2.hasNext();) {
	Map map2 = (Map) iterator2.next();
转化,则红色代码处会报上述错误,因为 在操作json的数据格式的时候,如果没有指明数据类型,那么只能是基本类型或者是String类型,不能出现复杂数据类型。改正方式为:
Map typeM=new HashMap();
typeM.put("children",HashMap.class);
List> querys=(List>)JSONArray.toList(chosendimes,Map.class,typeM);
for (Iterator iterator = querys.iterator(); iterator.hasNext();) {
    Map map = (Map) iterator.next();
    List list = (ArrayList) map.get("children");
    for (Iterator iterator2 = list.iterator(); iterator2.hasNext();) {
	Map map2 = (Map) iterator2.next();



 
  



你可能感兴趣的:(Java)