文件夹目录转Json

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_17255515/article/details/81098243
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Newtonsoft.Json;

namespace ConsoleApplication1
{
    class Program
    {
        private static List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
        static void Main(string[] args)
        {
            var path = @"F:\BaiduNetdiskDownload\jquery-easyui-EDT-1.5.1-build1\jquery-easyui-1.5.1\demo(网页端示例)";
            GetDir(path);
            var dd = Newtonsoft.Json.JsonConvert.SerializeObject(list);

        }
        public static void GetDir(string path)
        {
            DirectoryInfo folder = new DirectoryInfo(path);
            DirectoryInfo[]dirs= folder.GetDirectories();
            foreach (var item in dirs)
            {
                var d = new Dictionary<string, object>();
                d.Add("id",Guid.NewGuid().ToString());
                d.Add("text",item.Name);
                d.Add("state", "closed");
                if (GetFileNames(item.FullName).Count > 0)
                {
                    var f = new List<Dictionary<string, object>>();
                    int cc = 11;
                    foreach (var c in GetFileNames(item.FullName))
                    {
                        cc++;
                         f.Add(new Dictionary<string, object>() { { "id", Guid.NewGuid().ToString() }, { "text", c }, { "url", item+"/"+c } });
 
                    }
                    d.Add("children", f);
                }
                list.Add(d);
            }
           
        }
        public static List<string> GetFileNames(string path)
        {
            DirectoryInfo folder = new DirectoryInfo(path);
            List<string> files = new List<string>();
            foreach (FileInfo file in folder.GetFiles("*.html"))
            {
                if (file.Name.Contains("_"))
                {
                    continue;
                }
                files.Add(file.Name);
            }
            return files;
        }

    }
    public class TreeViewNode
    {
        public int id { get; set; }
        public string name { get; set; }
        public string url { get; set; }
        public TreeViewNode children { get; set;  }
    }


}

猜你喜欢

转载自blog.csdn.net/qq_17255515/article/details/81098243
今日推荐