Csharp/C#教程:有没有办法直接获取目录结构并在C#中将其解析为Json?分享


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

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

使用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() }); } 

用法示例:

 var json = GetDirectory(new DirectoryInfo("...some path...")).ToString(); 

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

 { "directory": { "dirA": { "file" : [ "file0.txt", "file1.jpg" ] }, "emptyDir": { } }, "file": [ "file2.png" ] } 

实际上,有一种使用Json.NET将C#对象转换为JSON的简单方法。

您只需创建一个包含所需数据的List<>然后调用

 var wrapper = new { TreeData= list }; string json = JsonConvert.SerializeObject(wrapper); 

您可以创建自定义类,如:

 abstract class DirectoryChildItem { public string Name { get; set; } } class Directory : DirectoryChildItem { public List Childs { get; set; } } class File : DirectoryChildItem { } 

然后,您应该使用静态类System.IO.Directory遍历文件系统,并使用上面的类创建项目。 遍历文件系统后,在ASP.NET MVC操作中使用“return Json(obj)”方法

上述就是C#学习教程:有没有办法直接获取目录结构并在C#中将其解析为Json?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/951784.html

(0)
上一篇 2021年11月18日
下一篇 2021年11月18日

精彩推荐