Как читать appsettings. json со списком значений? - PullRequest
1 голос
/ 13 апреля 2020

У меня есть следующие appSettings. json file

  "UrlManagement": {
   "UrlList": [ 
   {
        "Microsoft":{
            "resource":"xyz",
             type": "iot"
        }, 

        "AWS":{
            "resource":"abc",
             "type": "storage"
        },     
   }]
  }
 }

У меня есть класс

public class UrlManagement
{
    public string CompanyName;
    public URLList UrlList;
}

public class URLList 
{
     public string Resource;
     public string Type;
}

Я пытаюсь получить эти значения следующим образом

  private List<string> GetConfigurationDictionary()
  {
        var items = this._configuration.GetSection("UrlManagement:UrlList:0").
            GetChildren().ToDictionary(x => x.Key, x => x.Value);
  }

Я получаю нулевые значения для x.Value

1 Ответ

1 голос
/ 13 апреля 2020

Вы можете искать в разделе UrlManagement:UrlList:0, например, следующий код:

private List<UrlManagement> GetConfigurationDictionary()
{
    List<UrlManagement> result = this._configuration
        .GetSection("UrlManagement:UrlList:0")
        .GetChildren()
        .ToDictionary(x => x.Key, x => x.Get<UrlList>())
        .Select(x => new UrlManagement { CompanyName = x.Key, UrlList = x.Value })
        .ToList();

    return result;
}

Демо

foreach (var item in result)
{
    Console.WriteLine($"{item.CompanyName} ==> {item.UrlList.Type}:{item.UrlList.Resource}");
}

Результат

AWS ==> storage:abc
Microsoft ==> iot:xyz

Надеюсь, это поможет вам решить проблему

...