.net core中简单获取appsettings.json值的方式

比如appsettings.json内容如下:

{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*",
  "Database": {
    "SqlServerConnectionString": "Data Source=localhost;Initial Catalog=ReportServer;Integrated Security=True;MultipleActiveResultSets=True",
    "MySqlConnectionString": "server=localhost;port=3306;database=test;uid=root;pwd=root;Charset=utf8;Allow User Variables=True;"
  }
}

要获取Database节点下的SqlServerConnectionString和MySqlConnectionString的值。网上常见的一些方法太麻烦了,这里有两种简单的方式。

方法1:

            //需要引用命名空间 using Microsoft.Extensions.Configuration;
            var appsettings = new ConfigurationBuilder()
                                .SetBasePath(Environment.CurrentDirectory)
                                .AddJsonFile("appsettings.json", true, true)
                                .Build();

            var msSqlconnStr = appsettings.GetSection("Database").GetSection("SqlServerConnectionString").Value;
            var mySqlConnStr = appsettings.GetSection("Database").GetSection("MySqlConnectionString").Value;

 

 

方法2:

使用Newtonsoft.Json“暴力”获取。

其实appsettings就是个json文件,把它当普通的文件把内容读取进来,再提取下就好了。

需要引入Newtonsoft,Newtonsoft是个常用的json库,如果项目中有用到此库的话可以像下面这样读取

            //需要引用命名空间using Newtonsoft.Json.Linq;
            var fileContent = System.IO.File.ReadAllText(Environment.CurrentDirectory + "\\appsettings.json");
            var fJson = JObject.Parse(fileContent);

            var msSqlconnStr = fJson["Database"]["SqlServerConnectionString"].ToString();
            var mySqlConnStr = fJson["Database"]["MySqlConnectionString"].ToString();

 

msSqlconnStr 和 mySqlConnStr即为得到的值。(双击放大)wink

 

类别:DotNET   阅读(0)   评论(0)    发表时间:2019-05-31 21:20  星期五

评论区

发表评论

        姓名:
邮箱|网站:
        内容:

  (可按Ctrl+Enter提交)