ASP.NET 如何将Lambd式查询结果转换成带树结构(children)的JSON
为爱打拼 2020-09-21 11:52:06 目的,是要把查询后的JSON转换成树结构的菜单.
数据库的菜单结构如下:
AuthID AuthName ParentID type AuthUrl Icon
1 系统管理 0 menu /System/UserInfoList
2 用户管理 1 menu /System/UserInfoList
3 菜单管理 1 menu /System/GetMenuList
4 采购管理 0 menu /System/GetMenuList
5 采购申请 4 menu /System/GetMenuList
#region 获取菜单权限列表信息
public ActionResult GetMenu()
{
//查询所有菜单数据
var AuthorizeInfo = authorize.Select(u => true);
var tempdata = from a in AuthorizeInfo
select new
{
Authid=a.AuthID,
ParentID = a.ParentID,
title = a.AuthName,
href = a.AuthUrl,
icon = a.Icon,
spread=false,
children=a.ParentID
};
return Json(tempdata, JsonRequestBehavior.AllowGet);
}
#endregion
查询后,得到的JSON格式为:
[{"Authid":1,"ParentID":0,"title":"系统管理","href":"/System/UserInfoList","icon":"\u0026#xe716;","spread":false,"children":0},{"Authid":2,"ParentID":1,"title":"用户管理","href":"/System/UserInfoList","icon":"\u0026#xe770;","spread":false,"children":1},{"Authid":3,"ParentID":1,"title":"菜单管理","href":"/System/GetMenuList","icon":"\u0026#xe66b;","spread":false,"children":1},{"Authid":4,"ParentID":0,"title":"采购管理","href":"/System/GetMenuList","icon":"\u0026#xe657;","spread":false,"children":0},{"Authid":5,"ParentID":4,"title":"采购申请","href":"/System/GetMenuList","icon":"\u0026#xe657;","spread":false,"children":4}]
我想要的json格式为:
[
{
"title": "系统管理",
"icon": "",
"href": "",
"spread": false,
"children": [
{
"title": "用户管理",
"icon": "",
"href": "/System/UserInfoList",
"spread": false
},
{
"title": "菜单管理",
"icon": "",
"href": "/System/GetMenuList",
"spread": false
}
]
}
]
这里带不出children下面的节点关系
求各位大神帮忙一下,谢谢