首页 / 问答 / .NET Core/ASP.NET Core如何从配置文件appsettings.json中读取配置选项并转换成数据字典?

.NET Core/ASP.NET Core如何从配置文件appsettings.json中读取配置选项并转换成数据字典?

0

.NET Core/ASP.NET Core应用程序编程开发中,配置文件可以是不同文件类型,比如:json,xml,ini甚至是环境变量等等。默认的配置文件为appsettings.json,这是一个json文件,其中可以绑定多种类型的配置选项数据,比如:int,string,bool,字典等等,前面几种数据类型的读取还比较简单,那么像字典这样的数据类型,我们从appsetting.json配置文件中读取并转换呢?

比如,appsettings.json配置文件中的字典数据如下:

"Language": {
    "lang001": "C#",
    "lang002": "C",
    "lang003": "C++",
    "lang004": "JavaScript",
    "lang005": "Java"
}
回复 [×]
提交评论
请输入评论内容

3 个回答

  • 0

    在.NET Core/ASP.NET Core应用程序中,可以使用Configuration.Bind()方法来读取并绑定强类型的配置选项,首先从Nuget安装并引用Microsoft.Extensions.Configuration.Binder命名空间,然后创建一个字典类LanguageSection,如下:

    使用Configuration.Bind()方法从配置文件读取配置选项数据的方法,如下:

    调用示例如下:

    输出结果如下:

    Rector的个人主页

    Rector

    2020-01-19 回答

    • 0

      如果不想使用Bind()方法,我们还可以使用GetChildren()方法并配合System.Linq命名空间下的ToDictionary()方法直接将appsettings.json配置文件中的配置选项转换成字典数据,如下:

      Rector的个人主页

      Rector

      2020-01-19 回答

      • 0

        或者更直接一点,使用配置文件的Get<T>()扩展方法(需安装并引用Microsoft.Extensions.Configuration.Binder),如下:

        Rector的个人主页

        Rector

        2020-01-19 回答

        我来回答