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

创建JSON字符串反序列化时遇解析错误,寻求技术帮助

问题分析与解决

错误原因

  • JSON语法不符合标准:JSON规范强制要求属性名、字符串值必须使用双引号,你代码里用了单引号,这是触发反序列化错误的核心原因。
  • 冗余逗号:to数组的闭合方括号前多了一个逗号,属于无效JSON语法。
  • 字段拼写错误:personlize应为personalize(SendGrid的邮件发送API要求该字段正确拼写,否则后续请求也会失败)。

修正后的代码

int id = 321;
var data2 = @"{
    ""personalize"": [       
        {
            ""to"": [       
                {   
                    ""email"": ""amirsal@gmail.com.com""    
                }
            ]
        }
    ]
}";

data1 = data2;
var json = JsonConvert.DeserializeObject<object>(data1);
var response1 = await client.RequestAsync(method: SendGridClient.Method.POST,
                        requestBody: json.ToString(),
                        urlPath: "mail/send");

额外建议

尽量避免手动拼接JSON字符串,容易出现语法错误。可以用匿名类或强类型对象序列化,更可靠:

var mailData = new {
    personalize = new[] {
        new {
            to = new[] {
                new { email = "amirsal@gmail.com.com" }
            }
        }
    }
};
var json = JsonConvert.SerializeObject(mailData);
// 后续请求代码不变

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 20:37:35