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;
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
easyui是一个基于jQuery的UI框架,提供了丰富的界面组件和交互效果,方便开发人员快速构建Web页面。而treeeasyui中的一个树状组件,用于展示层级关系的数据。 在使用easyui tree进行java开发时,我们首先需要引入easyui的相关依赖包,并在页面中引入相应的脚本和样式文件。然后,我们可以通过在页面中定义一个div容器,将tree组件渲染在页面上。 在java后台代码中,我们需要提供数据给tree组件进行展示。一般来说,我们可以通过数据库查询、接口调用等方式获取数据,并将数据转换为json格式。然后,将json数据返回给前端页面,供tree组件使用。 接下来,我们需要在前端页面中初始化并配置tree组件。通过调用easyui提供的API,我们可以设置tree的数据源、展开图标、折叠图标、节点点击事件等。可以根据具体需求对tree进行自定义配置,以满足我们的业务需求。 在页面渲染完成后,easyui tree组件会自动将数据渲染为树状结构,并提供相应的交互功能,比如展开收起节点、选中节点等。我们可以通过对tree组件的事件进行监听,实现特定操作,比如点击节点后加载子节点、在节点上右键弹出菜单等。 总之,通过使用easyui tree组件,结合java后台开发,我们可以方便地实现树形结构的展示和交互操作,提升用户体验,简化开发流程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值