json数据转化为bootstrap treeview填充数据格式util

后台响应的数据:


[
		{
			"menuGroupName":"应用管理",
			"menu": [
				{
					"menuName": "文件列表",
					"function": [
						{
							"functionName": "添加或编辑栏目分类"
						},
						{
							"functionName": "删除栏目分类"
						},
						{
							"functionName": "创建或编辑栏目分类"
						},
						{
							"functionName": "删除文章"
						},
						{
							"functionName": "移动文章"
						},
						{
							"functionName": "设置或移除焦点文章"
						},
						{
							"functionName": "同步微站栏目"
						},
						{
							"functionName": "同步微站文章"
						}
					]
				},
				{
					"menuName": "用户列表",
					"function": [
						{
							"functionName": "回复消息"
						},
						{
							"functionName": "创建消息会话"
						},
						{
							"functionName": "新增或修改用户组"
						},
						{
							"functionName": "删除用户组"
						}
					]
				},
				{
					"menuName": "用户记录",
					"function": [
					]
				},
				{
					"menuName": "推送记录",
					"function": [
						{
							"functionName": "推送"
						}
					]
				},
				{
					"menuName": "统计信息",
					"function": [
					]
				}
			]
		},
		{
			"menuGroupName":"随访管理",
			"menu": [
				{
					"menuName": "随访列表",
					"function": [
					]
				},
				{
					"menuName": "随访档案",
					"function": [
					]
				},
				{
					"menuName": "随访统计",
					"function": [
					]
				},
				{
					"menuName": "随访设置",
					"function": [
					]
				},
				{
					"menuName": "任务管理",
					"function": [
					]
				}
			]
		}
]



bootstrap treeview接受的json数据格式(Demo):


[
			{
				"text": "Parent 1",
				"nodes": [
					{
						"text": "Child 1",
						"nodes": [
							{
								"text": "SubChild 1"
							},
							{
								"text": "SubChild 2"
							},
							{
								"text": "SubChild 3"
							},
							{
								"text": "SubChild 4"
							}
						]
					},
					{
						"text": "Child 2"
					},
					{
						"text": "Child 3"
					}
				]
			},
			{
				"text": "Parent 2",
				"nodes": [
					{
						"text": "Child 1"
					},
					{
						"text": "Child 2"
					},
					{
						"text": "Child 3"
					}
				]
			},
			{
				"text": "Parent 3",
				"nodes": [
					{
						"text": "Child 1"
					},
					{
						"text": "Child 2"
					},
					{
						"text": "Child 3"
					}
				]
			}
]



转化过程:


var columnStructure = [{text: "menuGroupName", nodes: "menu"},{text: "menuName", nodes: "function"},{text: "functionName", nodes: ""}];//外来数据转化为treeView数据的转化结构
$scope.columnsTree = obj2treeview(response,columnStructure);//将外来数据转化为treeview数据



util源码:


/**
 * @desc 将N级外来数据转化为bootstrap treeview可填充的数据
 * @param {Object} resp 需要被处理的数组
 * @param {Array} structure such as [{text: "menuGroupName", nodes: "menu"},{text: "menuName", nodes: "function"},{text: "functionName", nodes: "..."},...]
 * 								但需要注意,structure内的元素必须是按层级从左向右依次下降的。
 */

loopLevel=0;
function obj2treeview(resp,structure){
	var nodeArray = new Array();
	var i = 0;
		for(i= 0;i


你可能感兴趣的:(javascript)