You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在.NET Core项目中如何通过IConfiguration读取自定义JSON文件内容

.NET读取creds.json配置值的方法

假设你的creds.json为常规配置结构,示例如下:

{
  "UserName": "你的用户名",
  "Password": "你的密码"
}

以下是两种常用的读取方案:

方法1:直接通过注入的IConfiguration读取

在需要使用配置的类中,通过构造函数注入IConfiguration实例,直接通过键名读取:

public class DemoService
{
    private readonly IConfiguration _config;

    // 构造函数注入IConfiguration
    public DemoService(IConfiguration config)
    {
        _config = config;
    }

    public void GetCreds()
    {
        // 方式1:索引器读取
        string userName = _config["UserName"];
        string password = _config["Password"];

        // 方式2:泛型GetValue方法读取,支持设置默认值
        string userName2 = _config.GetValue<string>("UserName");
        // 如果配置是嵌套结构,比如存放在Creds节点下,用冒号分隔层级
        // string userName = _config["Creds:UserName"];
    }
}

方法2:绑定到强类型配置类(更推荐,类型安全)

  1. 先定义和配置结构对应的配置类
public class CredsConfig
{
    public string UserName { get; set; }
    public string Password { get; set; }
}
  1. 在服务注册阶段绑定配置
// Program.cs 或 Startup.cs 的ConfigureServices方法中添加
// 如果是根级配置直接绑定
builder.Services.Configure<CredsConfig>(builder.Configuration);

// 如果配置是嵌套在Creds节点下,绑定对应节点即可
// builder.Services.Configure<CredsConfig>(builder.Configuration.GetSection("Creds"));
  1. 在业务类中注入IOptions使用
public class DemoService
{
    private readonly CredsConfig _creds;

    public DemoService(IOptions<CredsConfig> credsOptions)
    {
        _creds = credsOptions.Value;
    }

    public void GetCreds()
    {
        string userName = _creds.UserName;
        string password = _creds.Password;
    }
}

注意:请确保creds.json文件的「复制到输出目录」属性设置为如果较新则复制,避免程序运行时找不到配置文件导致读取为空。

内容的提问来源于stack exchange,提问作者abhishek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 23:36:03