gpt4 book ai didi

c# - 在配置选项时解析值

转载 作者:行者123 更新时间:2023-12-03 23:03:02 24 4
gpt4 key购买 nike

我正在使用 .NET Core 并想配置我的选项。基于这个样本类

public class MySettings
{
public Dictionary<int, string> Mapping { get; set; }
}
我在 appsettings.json 文件中添加了一个映射
{
"MySettings": {
"Mapping": {
"9454545": "agf51528gfhdfg",
"13544": "bfds28745hfghsdfghd"
}
}
}
但正如你所看到的,键是字符串类型,而不是整数。我无法将属性名称更改为数字,因为我收到错误

JSON property names should be strings. Numeric property names are notallowed in JSON


所以当在启动文件中调用它时
IConfigurationSection mySettingsSection = configuration.GetSection("MySettings");
services.Configure<MySettings>(mySettingsSection);
领域 Mapping将有 0 个项目,因为它无法自动将 JSON 键解析为整数。有没有办法告诉 .NET Core 将这些字符串键解析为整数并填充字典?

最佳答案

嗯,我认为您需要解决方法,因为 json 文件中不允许使用 int。
像这样的东西:

var mySettingsSection = 
configuration.GetSection("MySettings").Get<Dictionary<string, string>>().Select(x => new KeyValuePair<int, string>(int.Parse(x.Key), x.Value));

关于c# - 在配置选项时解析值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64387117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com