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

JSON转C#类时List反序列化报错,请求排查解决

JSON反序列化失败的原因与解决方法

问题根源

你的JSON数据里的字段location是小写开头,但C#实体类Urls中对应的属性是Location(大写开头)。默认情况下System.Text.Json序列化器严格区分大小写,导致字段无法匹配,从而触发反序列化错误。

两种可行的解决办法

方法1:给属性标记JSON字段名

在C#类的Location属性上添加JsonPropertyName特性,明确指定对应的JSON字段名:

using System.Text.Json.Serialization;

namespace Models
{
    public partial class Urls
    {
        public string Urltitle { get; set; }
        [JsonPropertyName("location")]
        public string Location { get; set; }
        public string Url { get; set; }
    }
}

方法2:配置序列化器忽略大小写

修改JsonOptions,设置属性名称不区分大小写,这样序列化器会自动匹配大小写不同的字段:

var JsonOptions = new JsonSerializerOptions
{
    PropertyNameCaseInsensitive = true
};
IList<Urls> ssdResponse = JsonSerializer.Deserialize<IList<Urls>>(content, JsonOptions);

这种方式不需要修改实体类,适合多个字段存在大小写差异的场景。

另外还要确认你的反序列化代码中,泛型参数T的实际类型确实是Models.Urls,避免因泛型类型传错导致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 12:23:12