使用 echart的jar包,传递到前台报 null错误

表现:后台创建 Option的JsonObjject传递到前台之后,失败,F12控制台报错:无法定义null的属性xxx

原因:使用jar包里面的对象分装没有默认值,而我们自己使用时只是对需要的对象进行重新封装,没有默认值的对象以null形式传递到前台,然而echart在分析数据时,会对本该时对象的值进行深度查看,遇到这些null的对象时就出现了以上错误;

解决:在前台或者后台对Json对象进行递归处理,把所有为null   “null”  “”  0 “0”  等 进行移除,echart就会设置默认值

给出前台逻辑:

function handlerJson(object){
          for (var i in object) {
            var value = object[i];
            if (typeof value === 'object') {
                if(value === null || value === undefined){
                    delete object[i];
                    continue;
                }
                
              this.handlerJson(value);
              if (this.isEmpty(value)) {
                delete object[i];
              }
            } else {
              if (value === '' || value === null || value === undefined || value===0) {
                delete object[i];
              } 
            }
          }
        }


        function isEmpty(object) {
          for (var name in object) {
            return false;
          }
          return true;
        }

 

posted @ 2018-04-17 11:52  天涯已可  阅读(393)  评论(0编辑  收藏  举报