我正在研究用C#编写的Web API 2项目。 post方法接收来自呼叫者的电子邮件。它从数据库获取customerID,并将其与电子邮件一起以JSON格式发送回调用方。当我收到电子邮件时,它已经编码,看起来像是“ \” xyz@yahoo.com \””。我尝试如下删除反斜杠。 JSON仍然如下所示。本质上,我希望JSON中的电子邮件是一个简单的字符串。
email = email.Replace('\\', ' ').Trim();
JSON:
{
"email": "\"xyz@yahoo.com\"",
"customerData": {
"customerID": "MAOUOQRM"
}
}
答案 0 :(得分:1)
字符\
只是其后的双引号的转义字符。因此\"
基本上是"
的意思。转义字符是必需的,因为JSON字符串本身受双引号限制。
这意味着由于某种原因,您的电子邮件包含双引号。在您的示例中,email
的值为"xyz@yahoo.com"
。
最好的解决方案是找到添加双引号的位置,因为它们不应该放在第一位。如果要删除它们,可以这样做
email = email.Replace('"', ' ').Trim();
或者只是
email = email.Trim('"');
在这种情况下基本上是相同的。