json格式化为适用easyUI tree的json

原始json数据

var json = 
[
{"id":"5","name":"基本信息","nodeType":null,"pid":"0","title":null,"url":null},
{"id":"6","name":"商户信息","nodeType":null,"pid":"5","title":null,"url":null},
{"id":"2","name":"系统参数管理","nodeType":null,"pid":"1","title":null,"url":null},
{"id":"7","name":"用户信息","nodeType":null,"pid":"5","title":null,"url":null},
{"id":"3","name":"菜单管理","nodeType":null,"pid":"1","title":null,"url":null},
{"id":"1","name":"系统管理","nodeType":null,"pid":"0","title":null,"url":null},
{"id":"4","name":"操作员管理","nodeType":null,"pid":"1","title":null,"url":null},
{"id":"8","name":"服务类型","nodeType":null,"pid":"5","title":null,"url":null},
{"id":"10","name":"服务规则","nodeType":null,"pid":"5","title":null,"url":null},
{"id":"9","name":"角色管理","nodeType":null,"pid":"1","title":null,"url":null}
]
js转化方法

// 格式化数据,建立多叉树
function formatTreeData(treejson) {
	var tmp = {}, parent;
	for ( var n in treejson) {
		var item = treejson[n];
		if (item.id == item.pid) {
			parent = item.id;
		}
		if (!tmp[Number(item.id)]) {
			tmp[Number(item.id)] = {};
		}
		tmp[Number(item.id)].name = item.name;
		tmp[Number(item.id)].id = Number(item.id);
		if (!("children" in tmp[Number(item.id)]))
			tmp[Number(item.id)].children = [];

		if (item.id != item.pid) {
			if (tmp[Number(item.pid)]) {
				tmp[Number(item.pid)].children.push(tmp[Number(item.id)]);
				delete tmp[Number(item.id)];
			} else {
				tmp[Number(item.pid)] = {
					children : [ tmp[Number(item.id)] ]
				};
			}
		}
	}
//	console.log(JSON.stringify(tmp['0'].children));
	return tmp['0'].children;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值