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 @ 2024-08-07 17:16  中国结  阅读(289)  评论(0)    收藏  举报