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

C#匿名类型如何使用bool作为成员名生成指定JSON

解决C#匿名类型中使用关键字“bool”作为成员名的问题

以下是几种可行的解决办法:

  • 使用@符号转义关键字
    C#允许在标识符前加@符号转义关键字,以此将bool作为匿名类型的成员名。序列化JSON时,@会被自动忽略,生成符合目标系统要求的属性名。
    示例代码:

    var myquery = new { @bool = "Yes" };
    

    序列化后得到的JSON结构:

    {"bool":"Yes"}
    
  • 用Dictionary<string, object>替代匿名类型
    直接通过字典存储键值对,键名可直接指定为"bool",无需考虑关键字限制,序列化后同样能生成目标JSON结构。
    示例代码:

    var myquery = new Dictionary<string, object>
    {
        { "bool", "Yes" }
    };
    
  • 创建具名类并使用JsonProperty特性(适用于Json.NET)
    如果项目依赖Newtonsoft.Json,可以定义一个具名类,通过JsonProperty特性指定JSON属性名为"bool",避开关键字冲突。
    示例代码:

    using Newtonsoft.Json;
    
    public class QueryRequest
    {
        [JsonProperty("bool")]
        public string BoolFlag { get; set; }
    }
    
    var myquery = new QueryRequest { BoolFlag = "Yes" };
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 04:25:18