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

C#反序列化含特殊字符JSON属性(A/B映射到AB)求助

解决方案

首先检查你的JSON格式:你提供的JSON中每个对象的最后一个属性后存在多余逗号(比如"A/B": true,),这属于无效JSON语法,会导致解析异常,最终属性被设为默认值false。先修正JSON为有效格式:

{
    "List": [
        {
            "Name": "name",
            "A/B": true
        },
        {
            "Name": "name1",
            "A/B": false
        }
    ]
}

针对两种序列化库,分别提供可行实现:

一、使用System.Text.Json

定义对应的模型类,确保JsonPropertyName特性正确绑定JSON属性名:

public class RootObject
{
    public List<Item> List { get; set; }
}

public class Item
{
    public string Name { get; set; }
    
    [JsonPropertyName(@"A/B")]
    public bool AB { get; set; }
}

反序列化代码示例:

string json = File.ReadAllText("your-json-file.json");
var result = JsonSerializer.Deserialize<RootObject>(json);

二、使用Newtonsoft.Json

定义模型类时使用JsonProperty特性:

public class RootObject
{
    public List<Item> List { get; set; }
}

public class Item
{
    public string Name { get; set; }
    
    [JsonProperty(@"A/B")]
    public bool AB { get; set; }
}

反序列化代码示例:

string json = File.ReadAllText("your-json-file.json");
var result = JsonConvert.DeserializeObject<RootObject>(json);

额外排查点

  • 确认你使用的序列化库版本没有已知bug,建议升级到最新稳定版。
  • 检查是否存在其他代码逻辑覆盖了AB属性的值(比如初始化时手动设为false)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 21:05:32