如何在launchsettings.json中添加JSON配置并在C#后端读取指定值
实现步骤
1. 确认launchsettings.json的配置结构
首先确保你的jsondata节点位置正确,符合文件的标准结构,示例如下:
{ "profiles": { "YourProjectName": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "applicationUrl": "https://localhost:5001;http://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } }, "jsondata": { "value1": "value1data", "value2": "value2data", "value3": "value3data" } }
2. 方法一:直接读取文件解析(简单场景)
步骤1:创建数据模型类
在C#项目中定义和jsondata结构匹配的类,用于反序列化:
public class JsonDataConfig { public string Value1 { get; set; } public string Value2 { get; set; } public string Value3 { get; set; } }
步骤2:读取并解析配置
在需要获取配置的代码位置(如业务类、Program.cs),使用System.Text.Json读取文件并提取值:
using System.Text.Json; // 定位launchsettings.json路径(根据项目结构调整) var settingsPath = Path.Combine(AppContext.BaseDirectory, "../", "../", "../", "Properties/launchSettings.json"); var jsonContent = File.ReadAllText(settingsPath); var doc = JsonDocument.Parse(jsonContent); // 提取jsondata节点并反序列化 if (doc.RootElement.TryGetProperty("jsondata", out var jsondataElem)) { var config = jsondataElem.Deserialize<JsonDataConfig>(); string targetValue = config.Value2; // 此处得到value2data // 后续使用targetValue }
3. 方法二:纳入.NET配置系统(推荐)
将launchsettings.json加入.NET的Configuration体系,和其他配置统一管理:
步骤1:在Program.cs中添加配置源
针对ASP.NET Core 6+的顶级Program.cs:
var builder = WebApplication.CreateBuilder(args); // 添加launchsettings.json作为配置源 builder.Configuration.AddJsonFile( Path.Combine(AppContext.BaseDirectory, "../", "../", "../", "Properties/launchSettings.json"), optional: true, reloadOnChange: true); // 直接通过Configuration获取value2 string targetValue = builder.Configuration["jsondata:value2"];
步骤2:强类型绑定(可选)
如果需要强类型访问,绑定到之前定义的模型类:
var jsonConfig = builder.Configuration.GetSection("jsondata").Get<JsonDataConfig>(); string targetValue = jsonConfig.Value2;
注意事项
launchsettings.json是开发环境专用配置文件,不会被部署到生产环境,不要存放生产环境敏感配置,生产环境建议使用appsettings.json、环境变量或密钥管理服务。- 路径需根据你的项目结构调整,确保能正确定位到Properties目录下的launchSettings.json文件。
内容的提问来源于stack exchange,提问作者Crystal
相关产品推荐
相关产品推荐

