net6 读取appsettings.json方法

如图

 

 

一、appsettings.json

{
  "aaa": "000",
  "dbparam": {
    "dbname": "kkkkk",
    "url": "hhhhhh"
  }
}

二、DbParam.cs

    public class DbParam
    {
        public string dbname { get; set; }
        public string url { get; set; }
    }

 

三、AppHepler.cs

复制代码
     /// <summary>
        /// 获取 appsettings.json 某个节点的值
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static string getAppsetting(string key)
        {
            IConfiguration configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
            return configuration.GetSection(key).Value;
        }
        /// <summary>
        /// 获取 appsettings.json 某个节点的对象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key">节点名称</param>
        /// <returns></returns>
        public static T getAppsettings<T>(string key)
        {
            IConfiguration configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
            return configuration.GetSection(key).Get<T>();
        }
复制代码

 

四、用法 Form1.cs

复制代码
using System.Text.Json;
using WinFormsApp1.Common;
using WinFormsApp1.Model;

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text = AppHelper.getAppsetting("dbparam:dbname");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            DbParam param= new DbParam();
            param = AppHelper.getAppsettings<DbParam>("dbparam");
            string p= JsonSerializer.Serialize(param);
            textBox2.Text = p;
            //textBox2.Text = param.dbname;
        }
    }
}
复制代码

五、依赖包

Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Json
Microsoft.Extensions.Configuration.Binder (获取节点对象)

 六、运行效果

 

 

posted @   中国结  阅读(138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
历史上的今天:
2020-08-07 UNI-APP全局变量的实现方法
点击右上角即可分享
微信分享提示