一、背景介绍

我们要做的就是将前台这种树形菜单格式在后台拼出来,而在树形菜单中显示的菜单名称是从数据库中查询出来的。在做权限系统的时候,需要有一个树形的菜单。下图就是一个树形菜单的样式

ASP.NET Core WebApi如何动态生成树形Json格式数据_.net

    但问题是,我们可以实现写死的树形菜单。什么是写死的?就是在前台代码中写好要加载的树形菜单是什么样子的。但是我们权限系统的要求是动态加载树形菜单,也就是根据数据库里面表的内容动态加载。    

我首先要说的就是数据库设计,要想动态加载成树形菜单,数据库表中就一定要设置父节点ID和自身ID。

通过父节点ID判断自身是属于哪一级菜单,而通过自身ID判断其对应的下一级菜单。

这是数据库设计应该注意的地方,如果没有父节点和自身子节点,那么就没办法实现动态加载树形菜单。 

二、什么是动态JSON树形菜单?图例如下:

ASP.NET Core WebApi如何动态生成树形Json格式数据_.net_02








三、ASP.NET Core WebAPI如何生成动态JSON树形菜单?

第一步:添加NewtonsoftJson全局配置

ASP.NET Core WebApi如何动态生成树形Json格式数据_.net_03


第二步:直接运行项目,采用递归方式实现动态生成树形Json数据

ASP.NET Core WebApi如何动态生成树形Json格式数据_.net_04


ASP.NET Core WebApi如何动态生成树形Json格式数据_.net_05


四、源代码示例下载

非常感谢对【跟着阿笨一起玩NET】的支持,有问题微信公众号回复wx关键字,加阿笨的个人微信号。

《ASP.NET Core WebApi如何动态生成树形Json格式数据》
 源码下载关注公众号,回复关键字:n80c