我正在通过用C#编写的Windows发布对API的请求,内容各不相同。有些时候,用户会使用“英寸”来表示。这些数据必须传递给API,但是当它自动完成时,就像我设置它的方式一样,这会导致它过早地结束POST内容中的描述字符串,从而导致一个错误的请求。
例如,我可能有一个“描述”字段,如下所示:
“替换4”管
有没有办法在不退出字符串的情况下传递“在字符串的中间”?是类似于下面的内容,还是应该将“字符”替换为“英寸”?我更喜欢发送实际的双引号,因为我不确定它们是否总是意味着英寸。也就是说,他们可能实际上是在引用某人的话。
if (description.Contains("\""))
{
description.Replace("\"", "inch");
}发布于 2021-10-04 14:31:09
答案来自“TomW”..。
@jpb103 103不这样做。Concatenating字符串不尊重JSON的正确转义规则。而是使用JObject来构造主体,这将在对象序列化时尊重字符转义。
JObject json = new JObject
{
{ "account", account },
{ "description", description },
{ "abbreviation", abbreviation }
};其中,帐户、描述和缩写都是动态填充的。此方法适当地尊重JSON的字符转义规则,并防止我看到的POST错误。谢谢汤姆!
https://stackoverflow.com/questions/69437343
复制相似问题