> 用于存储来自不同文件夹的多个 json 文件名和数据,c#,arrays,json,dictionary,json.net"/>

首页 > 解决方案 > 创建字典, 元组> 用于存储来自不同文件夹的多个 json 文件名和数据

问题描述

下面是父文件夹下的示例文件夹结构,有子目录,然后是文件,我想读取它们并将它们存储在一个变量中,并将它们用于不同的方法但不成功。

示例代码:

  //Task<Dictionary<Tuple<string>, Tuple<string, object>>> a;
            Task<Dictionary<string, List<Tuple<string, object>>>> a;

            List<IListBlobItem> folders;
            try
            {
                CloudBlobContainer container = Retrier<CloudBlobContainer>.TryWithDelayIncremental(() => blobclient.GetContainerReference(ContainerName), NoOfRetries, DelayInMilliSecs);

                var blobs = container.ListBlobs(useFlatBlobListing: false, blobListingDetails: BlobListingDetails.None);
                folders = blobs.Where(b => b as CloudBlobDirectory != null).ToList();

                foreach (CloudBlobDirectory directory in folders)
                {
                    if (directory.Prefix == "initiatives/")
                    {
                        foreach (CloudBlobDirectory subDirectory in directory.ListBlobs())
                        {
                            foreach (IListBlobItem item in subDirectory.ListBlobs())
                            {
                                CloudBlockBlob blob = (CloudBlockBlob)item;

                                string name = blob.Name;
                                string[] split = name.Split('/');
                                var ms = new MemoryStream();
                                var policyData = blob.DownloadText();


                                a.ToDictionary(pair => pair.Key,
                         pair => pair.Value.Select(tuple =>
                              tuple.Create(tuple.Item1,
                                           tuple.Item2,
                                           ConvertToEnum(tuple))).ToArray());
                                //create initiative assignment folder
                                // ManagementGroupClient mg = new ManagementGroupClient(Token);
                                //await mg.DeployPolicyToMG(split[2], policyData, split[1]);

                                // send the name of the initiative file , response 
                                Console.WriteLine(item);
                            }
                        }
                    }

文件夹结构——

Parent folder -  sub directoryfolder  - files 
Initatives --     initative1          policy1.json
                                      policy2.json

                  initiative2        policy3.json
                                     policy4.json

我想像initiative1文件夹一样添加到字典中我应该添加文件名和文件数据以及initative2文件夹的文件名和文件数据列表等等

标签: c#arraysjsondictionaryjson.net

解决方案


推荐阅读