有没有办法直接获取目录结构并在C#中将其解析为Json?

mik*_*423 1 c# asp.net-mvc

我想知道是否有办法获取特定的目录结构并将其解析为json,因此我可以使用jquery插件创建客户端树视图模式.提前致谢

Tim*_*lds 6

使用JSON.NET:

JToken GetDirectory(DirectoryInfo directory)
{
    return JToken.FromObject(new
    {
        directory = directory.EnumerateDirectories()
            .ToDictionary(x => x.Name, x => GetDirectory(x)),
        file = directory.EnumerateFiles().Select(x => x.Name).ToList()
    });
}
Run Code Online (Sandbox Code Playgroud)

用法示例:

var json = GetDirectory(new DirectoryInfo("...some path...")).ToString();
Run Code Online (Sandbox Code Playgroud)

这将为您提供如下所示的JSON:

{
    "directory":
    {
        "dirA": {
            "file" : [ "file0.txt", "file1.jpg" ]
        },
        "emptyDir": {
        }
    },
    "file": [ "file2.png" ]
}
Run Code Online (Sandbox Code Playgroud)