首页 > 解决方案 > 从 appsettings.json 中的小节获取值

问题描述

假设我的 appsettings.json 文件中有这样的部分。

"FileSettings": {
    "File1": {
      "Schedule": "1030"
    },
    "File2": {
      "Schedule": "1130"
    }
  }

我想要一个具有这样值的匿名对象列表,但 schedule 为空。

  {File1, 1030}
  {File2,1130}

  var fileList = (from a in fileSection
                select new {
                    FileName = a.Key,
                    Schedule = fileSection.Where(b => b.Key == a.Key)
                .FirstOrDefault().GetSection(a.Key + ":" + "Schedule").Value
                }).ToList();

标签: asp.net-core

解决方案


您可以像这样获取文件设置的子元素。

var fileSection = Configuration.GetSection("FileSettings").GetChildren();

var fileList = (from a in fileSection
                select new
                {
                    FileName = a.Key,
                    Schedule = fileSection.Where(b => b.Key == a.Key)
                .FirstOrDefault().GetSection("Schedule").Value
                }).ToList();

推荐阅读