c# - 创建字典, 元组> 用于存储来自不同文件夹的多个 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文件夹的文件名和文件数据列表等等
解决方案
推荐阅读
- spring-boot - Artemis v2.17.0 和 Spring Boot 中的通配符路由问题
- php - 如何使用 hook_user_login 创建自定义模块以覆盖 drupal 中的核心功能?
- python - 如何将回调重定向到不同的子域
- asp.net-core - 检查用户是否已在网站或应用程序启动时登录 okta。这样我们就不需要再次登录
- postgresql - 如何为 postgresql jsonb 字段(数组数据)和文本字段创建索引
- c# - 使用 Control.BeginInvoke() 调用异步方法时如何防止警告 VSTHRD101?
- mysql - Mysql中select和group by的执行顺序
- azure - 使用 Azure Databricks 从 ADLS 访问数据
- javascript - 无法重新定义第三方模块的属性
- windows - ddev-magento2 启动失败:ddev-ssh-agent 启动失败:docker-compose 启动失败