.Net Core 读取Json配置文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.Net Core 读取Json配置文件相关的知识,希望对你有一定的参考价值。

参考技术A

初学.Net Core,很多细节还不熟悉,打算一步一步来学,能学多少就看时间有多少,时间就像海绵里的水,挤一挤总还是有的嘛。

.Net Core读取配置文件相较于以往的方式还是有很大的不同,以往的方式大多要引用System.Configuration 这个类库,且内容要写在app.setting配置文件中才可操作,然后使用底层提供的方法.getConfiguration || .getAppsetting来得到我们需要的数据。

.NetCore读取文件就有了很大的不同,其中变化明显的就是,文件使用Json格式保存,可以自定义名称和内部结构,读取也相当方便,使用层级结构的方式一步一步读取。

一般读取配置文件的方式不做演示,可自行百度,主要通过俩种方式对读取方式进行说明

第一步
首先新建一个.netcore 控制台应用

第二步
安装 Microsoft.AspNetCore 组件

第三步
新建一个.json文件,填写内容并配置属性

第四步

通过这种方式,只需要对json文件进行添加,然后就可以通过 configuration 变量对内容操作,configuration["name"]就代表得到当前json文件key="name" 的值,特别容易理解

与一种方式其他并无太大差别,只是引用了其他的组件库

需要 Nuget 两个类库:

①Microsoft.Extensions.Configuration

②Microsoft.Extensions.Configuration.Json

appsettings.json

static void Main(string[] args)

//添加 json 文件路径
var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json");
//创建配置根对象
var configurationRoot = builder.Build();

ASP.NET Core读取appsettings.json配置文件信息

1、在配置文件appsettings.json里新增AppSettings节点

{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AppSettings": {
    "HttpUrl": "http://www.ehongcn.com",
    "Copyright": "山南远宏科技有限公司"
  },
  "AllowedHosts": "*"
}

2、新建实体类AppSettings,通常建在公共类库Common里

    public class AppSettings
    {
        public string HttpUrl { get; set; }
        public string Copyright { get; set; }
    }

3、在Startup类里的ConfigureServices配置

services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));

4、控制器或者业务类里使用

        private readonly AppSettings _appSettings;

        public HomeController(IOptions<AppSettings> appSettings)
        {
            _appSettings = appSettings.Value;
        }

        public IActionResult Index()
        {
            ViewData["Url"] = _appSettings.HttpUrl;
            return View();
        }

5、页面上使用

@using Microsoft.Extensions.Options;
@using Demo.Common
@inject IOptions<AppSettings> Settings
@{
    ViewData["Title"] = "Privacy Policy";
}
<h1>@ViewData["Title"]</h1>

<p>版权所属有 @Settings.Value.Copyright.</p>

 

以上是关于.Net Core 读取Json配置文件的主要内容,如果未能解决你的问题,请参考以下文章

net core 简单读取json配置文件

Net Core 读取json文件

干货:.net core实现读取appsettings.json配置文件(建议收藏)

干货:.net core实现读取appsettings.json配置文件(建议收藏)

.NET Core在类库中读取配置文件appsettings.json

使用.net core读取Json文件配置