对于.NET Core 3.1,控制台应用程序如何从appsetting.json文件中读取复杂的对象并将其转换为相应的对象?
我在网上看到的所有示例似乎都是针对.NET Core的早期版本的,此后一切似乎都发生了变化。下面是我的示例代码。我真的不知道如何从这里开始。感谢您的帮助。
appsettings.json
{
"Player": {
"Name": "Messi",
"Age": "31",
"Hobby": "Football"
}
}
Player.cs
class Player
{
public string Name { get; set; }
public string Age { get; set; }
public string Hobby { get; set; }
}
Program.cs
static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location))
.AddJsonFile("appsetting.json").Build();
var playerSection = config.GetSection("Player");
}
答案 0 :(得分:14)
在.Net Core 3.1中,您需要安装以下软件包:
Microsoft.Extensions.Configuration.Json
Microsoft.Extensions.Configuration.FileExtensions
然后构建IConfiguration
:
static void Main(string[] args)
{
IConfiguration configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", true,true)
.Build();
var playerSection = configuration.GetSection(nameof(Player));
}