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

.NET中修改模型属性名后读取JSON配置映射失败的问题

问题原因

你用的[JsonPropertyName]是System.Text.Json序列化库的特性,而.NET配置系统的IConfiguration.Get<T>()绑定逻辑并不识别这个特性,所以配置里的min_value无法映射到MinValue属性,最终属性取默认值0。

解决办法

改用配置绑定专用的[ConfigurationKeyName]特性(.NET Core 3.0及以上版本支持),它是专门用来指定配置键与类属性的映射关系的:

using Microsoft.Extensions.Configuration; // 需要引入这个命名空间

public class Settings
{
    [ConfigurationKeyName("min_value")]
    public int MinValue { get; set; }
}

如果你的项目使用旧版.NET(比如.NET Framework)或依赖Newtonsoft.Json(Json.NET),也可以用[JsonProperty]特性适配:

using Newtonsoft.Json;

public class Settings
{
    [JsonProperty("min_value")]
    public int MinValue { get; set; }
}
补充说明

配置系统的绑定逻辑默认支持属性名称的大小写不敏感匹配,但当下划线命名的配置键(min_value)对应帕斯卡命名的属性(MinValue)时,默认的自动转换规则不生效,必须通过特性明确指定映射关系才能完成绑定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 09:55:24