首页 > 其他分享 >.net core 基础之读取配置文件

.net core 基础之读取配置文件

时间:2023-04-26 14:55:24浏览次数:38  
标签:core set 配置文件 get Score student net configuration public

一、通过nuget安装扩展包

需要安装如下扩展包

Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Binder
Microsoft.Extensions.Configuration.Json

 二、在启动项目中新建json文件

{
  "Name": "Alan.hsiang",
  "Age": 20,
  "Sex": "male",
  "Like": [ "basketball", "football", "swimming" ],
  "Score": {
    "LandLit": 90,
    "Mathematics": 99,
    "English": 50
  }
}

三、创建IConfiguration接口实例,通过索引器读取配置文件

//IConfiguration configuration = new ConfigurationBuilder().SetBasePath(Environment.CurrentDirectory).AddJsonFile("tsconfig.json").Build();  //可以指定路径
IConfiguration configuration = new ConfigurationBuilder().AddJsonFile("tsconfig.json",true,true).Build();
var name = configuration["Name"]; //IConfiguration接口自带的索引器,只返回字符串类型。如:名字
var like0 = configuration["Like:0"];//读取数组中第一个元素 如:第一个爱好
var like2 = configuration["Like:2"];//读取数组中第三个元素 如:第三个爱好
var landLit = configuration["Score:LandLit"];//获取字节点的属性值,如:语文成绩

 四、整体对象绑定

新建一个cs类文件,然后复制整个Json文件的内容,依次点击【编辑-->选择性粘贴-->将JSON粘贴为类】菜单

 默认生成的类名为RootObject,然后修改为Student,具体如下所示:

namespace TestProjectTools
{
    public class Student
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public string Sex { get; set; }
        public string[] Like { get; set; }
        public Score Score { get; set; }
    }

    public class Score
    {
        public int LandLit { get; set; }
        public int Mathematics { get; set; }
        public int English { get; set; }
    }
}

将Student类和配置对象进行绑定,如下所示:

//2. 复杂读取
var student = new Student();
configuration.Bind(student);
Console.WriteLine($"name={student.Name},age={student.Age},like= {string.Join(",", student.Like)},score={student.Score.English}");

 

标签:core,set,配置文件,get,Score,student,net,configuration,public
From: https://www.cnblogs.com/fireicesion/p/17356065.html

相关文章

  • .NET平台StringComparison类型的介绍
    简介C#中StringComparison的类型有以下几种:1.CurrentCulture:使用当前区域性敏感的比较规则进行比较。2.CurrentCultureIgnoreCase:使用当前区域性敏感的比较规则进行比较,但忽略大小写。3.InvariantCulture:使用固定的区域性敏感的比较规则进行比较。4.InvariantCultureIgnoreCa......
  • 网卡配置文件详解
    #动态ip[root@qls~]#cat/etc/sysconfig/network-scripts/ifcfg-eth0TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="dhcp"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes......
  • centos7使用docker部署.net 6项目
    由于前阵子购买了腾讯云服务器,现在尝试在linux服务器上使用docker部署.net项目第一步,首先是要在服务器上安装docker,宝塔里边是可以直接安装的,如果是别的话,需要你网上找资料用命令安装,其实也是可以的  第二步,先生成好docker文件,将你的解决方案源代码放到一个指定目录(比如......
  • Kubernetes(K8S) kubesphere 介绍
    使用Kubeadm部署Kubernetes(K8S)安装--附K8S架构图官网地址:https://kubesphere.com.cn/KubeSphere是个全栈的Kubernetes容器云PaaS解决方案KubeSphere是在目前主流容器调度平台Kubernetes之上构建的企业级分布式多租户容器平台,提供简单易用的操作界面以及向导式操作方......
  • net::ERR_FAILED 413
    后台收不到post请求,前端报错413具体情况如下: 开始以为是跨域又有问题,进一步发现是上传的图片文件过大。Node.js环境中koa框架使用还不熟练。参考笔记-node.jskoa框架。请求体过大报413错误-简书(jianshu.com)引入koa-bodyparser 挂载配置,将文件大小设置为不超过10MB......
  • 关于在linux-centos7下部署 .net core程序绘图(PDF等)丢失中文字体的解决方案
    关于在linux-centos7下部署.netcore程序绘图(PDF等)丢失中文字体的解决方案说明:1:以下操作基于新系统,如果步骤一,二已经安装则不需要额外安装.需要注意的是,在使用(yuminstall包)的时候如果提示包不存在;需要运行步骤(一:5安装epel,企业版Linux额外包)2:以下()内代表......
  • Sitecore XP 10.3(latest) Docker一键部署
    本文演示通过PowerShell+DockerDesktopforWindows一键部署Sitecore10.3(即Sitecore最新版)Docker开发/测试/演示环境。官方参考 SitecoreXP10.3.0DeveloperWorkstationDeploymentWithDocker演示配置为XPSingle(XP0) 环境准备1,windows10+/WindowsServer2019(Windows......
  • golang 使用 net包实现 tcp server 示例
    之前用到golang进行网络编程时,主要就是使用net/http和web框架gin,这些网络库的底层其实也还是用的标准库自带的net包,很多是对路由或者其他做封装,而且golang本身的长处之一也是网络IO的处理,这也得益于其底层的IO模型,今天我们分享的是基于TCPserver/client的简单实现,后......
  • 解决 NET6 GET请求不设置参数值报错问题
    1、调用的方法1///<summary>2///获取干预集合3///</summary>4///<returns></returns>5[HttpGet]6publicJsonResultGetIntervenes(stringkeyword)7{89Li......
  • .NET周报 【4月第4期 2023-04-23】
    国内文章2023成都.NET线下技术沙龙圆满结束https://www.cnblogs.com/edisonchou/p/2023_chengdu_dotnet_club_activity_review.html2023年4月15日周六,由MASA技术团队和成都.NET俱乐部共同主办的2023年成都.NET线下技术沙龙活动在成都市世纪城新会展中心知域空间举行,共计报名人......