如何从Web API参数中删除转义字符

时间:2019-04-26 17:49:42

标签: c# asp.net-web-api2

我正在研究用C#编写的Web API 2项目。 post方法接收来自呼叫者的电子邮件。它从数据库获取customerID,并将其与电子邮件一起以JSON格式发送回调用方。当我收到电子邮件时,它已经编码,看起来像是“ \” xyz@yahoo.com \””。我尝试如下删除反斜杠。 JSON仍然如下所示。本质上,我希望JSON中的电子邮件是一个简单的字符串。

 email = email.Replace('\\', ' ').Trim();

JSON:

 {
    "email": "\"xyz@yahoo.com\"",
     "customerData": {
     "customerID": "MAOUOQRM"
   }
 }

1 个答案:

答案 0 :(得分:1)

字符\只是其后的双引号的转义字符。因此\"基本上是"的意思。转义字符是必需的,因为JSON字符串本身受双引号限制。

这意味着由于某种原因,您的电子邮件包含双引号。在您的示例中,email的值为"xyz@yahoo.com"

最好的解决方案是找到添加双引号的位置,因为它们不应该放在第一位。如果要删除它们,可以这样做

email = email.Replace('"', ' ').Trim();

或者只是

email = email.Trim('"');

在这种情况下基本上是相同的。