var domId ='jsonToTreeId';
function getTreeObj(){ return $.fn.zTree.getZTreeObj(domId); };scope.updata=updata;
var jsonData = scope.data; function objfn(obj){ return Object.prototype.toString.call(obj).toLocaleLowerCase(); }function isArray(obj){
return objfn(obj)=='[object array]'; }function isObject(obj){
return objfn(obj)=='[object object]'; } function getTreeArray(obj){ var treeNodesArrray = [],count = 10; createTreeNode(obj,0); function createTreeNode(obj, pId){ ++count; for(var k in obj){ var params = { pId: pId, id: count }; if(typeof obj[k] != 'object'){ params.name =k+':'+obj[k]; }else{ if(isArray(obj[k])){ params.name = k+':Array['+obj[k].length+']'; }else if(isObject(obj[k])){ params.name = k+':Object'; }else{ params.name = k; } if(!$.isEmptyObject(obj[k])){ createTreeNode(obj[k], count); } }; treeNodesArrray.push(params); } } return treeNodesArrray; } var setting = { edit: { enable: true, showRemoveBtn: false, showRenameBtn: false }, data: { keep: { parent: true, leaf: true }, simpleData: { enable: true } }, callback: {},
view: { selectedMulti: false, showIcon: false } }; $.fn.zTree.init(element, setting, getTreeArray(jsonData)); //更新树 function updata(data){ $.fn.zTree.destroy(domId); $.fn.zTree.init(element.find('li'), setting, getTreeArray(data)); }