C# 如何使用LINQ将目录结构(存储在数据库中)输出为JSON消息?
我有一个存储在SQL Server数据库中的目录结构。因此,当客户端调用Web API时,它应该以JSON消息的形式返回结构 数据库表如下所示(这只是一个示例,其中的行比这多得多): 返回的JSON消息应如下所示:C# 如何使用LINQ将目录结构(存储在数据库中)输出为JSON消息?,c#,linq,webapi,C#,Linq,Webapi,我有一个存储在SQL Server数据库中的目录结构。因此,当客户端调用Web API时,它应该以JSON消息的形式返回结构 数据库表如下所示(这只是一个示例,其中的行比这多得多): 返回的JSON消息应如下所示: "structure": [ { "value": "Directory 1", "label": "Directory 1",
"structure": [
{
"value": "Directory 1",
"label": "Directory 1",
"children": [
{
"value": "Directory 1.01",
"label": "Directory 1.01"
},
{
"value": "Directory 1.02",
"label": "Directory 1.02"
}
]
},
{
"value": "Directory 2",
"label": "Directory 2",
"children": [
{
"value": "Directory 2.01",
"label": "Directory 2.01"
}
]
},
{
"value": "Directory 3",
"label": "Directory 3",
"children": [
{
"value": "Directory 3.01",
"label": "Directory 3.01"
}
]
},
以下是一些补充说明:
- 当RootID有一个值(与Id相同)并且ParentId为NULL时,它就是根目录(类似于目录1)
- 父目录可以有多个级别的子目录(或子目录)。我的示例只显示了一个顶级目录下的一个子目录
谢谢 它有点宽,不是吗?你想根据一些标准选择整棵树还是只选择叶子?问题是:如何将数据库读入相似项的集合,或者如何将相似项的集合转换为JSON格式的字符串?
"structure": [
{
"value": "Directory 1",
"label": "Directory 1",
"children": [
{
"value": "Directory 1.01",
"label": "Directory 1.01"
},
{
"value": "Directory 1.02",
"label": "Directory 1.02"
}
]
},
{
"value": "Directory 2",
"label": "Directory 2",
"children": [
{
"value": "Directory 2.01",
"label": "Directory 2.01"
}
]
},
{
"value": "Directory 3",
"label": "Directory 3",
"children": [
{
"value": "Directory 3.01",
"label": "Directory 3.01"
}
]
},