c#替换json字符串中的反斜杠
我有一个类似这样的json字符串:{\“active\”:true},我想替换这个{“active”:true}。我怎么能在c#中做到这一点 我尝试了c#替换json字符串中的反斜杠,c#,json,json.net,C#,Json,Json.net,我有一个类似这样的json字符串:{\“active\”:true},我想替换这个{“active”:true}。我怎么能在c#中做到这一点 我尝试了jsonString.Replace(“\\”,”) jsonString.Replace(@“\”,“”) jsonString.Replace(@“\”,”); 由于要将\“替换为”您可以使用替换。(“\\\\”,“\\”) 您需要转义特殊字符,如\和“。所以\变成\,“变成\”,\“变成\\”检查Regex.Unescape(string)方
jsonString.Replace(“\\”,”)代码>
jsonString.Replace(@“\”,“”)代码>
jsonString.Replace(@“\”,”);
由于要将\“
替换为”
您可以使用替换。(“\\\\”,“\\”)
您需要转义特殊字符,如\
和“
。所以\
变成\
,“
变成\”
,\“
变成\\”
检查Regex.Unescape(string)方法。此方法返回一个不带转义字符的新字符串。是否绝对确定原始字符串在每个引号“
?如何知道反斜杠作为字符串的一部分可能存在重复?您是否正在使用调试器查看包含json的字符串变量?如果是这样的话,那么反斜杠字符只是调试器的“帮助”,它试图向您展示如何在C#中声明一个常数来生成该字符串,但反斜杠字符实际上不是字符串的一部分。我还假设您将调用Replace
的结果赋给了字符串变量.Replace
不会更改调用它的字符串,它将返回一个带有更改的新字符串。这将起作用:jsonString=jsonString.Replace(…)代码>,这不会:jsonString.Replace(…)代码>字符串strJson=“{\'active\”:true}”;字符串s=Regex.Unescape(strJson)Unescape
仅删除regexp特殊字符的反斜杠,如*
,+
等,不删除引号“
。