繁体   English   中英

在c#中转义字符串中的双引号

[英]Escaping a double quotes in string in c#

我知道这已被覆盖很多次但我仍然遇到所有解决方案的问题。

我需要构建一个字符串以发送到需要引号的JSON解析器。 我试过这些形式:

string t1 = "[{\"TS\"}]";
string t2 = "[{" + "\"" + "TS" + "\"" + "}]";
string t3 = @"[{""TS""}]"; 
Debug.Print(t1);
Debug.Print(t1);
Debug.Print(t1);

debug语句正确地显示它[{“TS”}]但是当我在调试器中查看它时,最重要的是当我将字符串发送到我的服务器端时,json解析器中包含转义字符:“[{\\”TS \\ “}]”

如何摆脱实际字符串中的转义字符?

debug语句正确地显示它[{“TS”}]但是当我在调试器中查看它时,最重要的是当我将字符串发送到我的服务器端时,json解析器中包含转义字符:“[{\\”TS \\ “}]”

从调试器的角度来看,它将始终显示转义版本(这是因为开发人员确切地知道字符串值是什么)。 这不是错误。 当您将其发送到另一个.Net系统时,它将再次从调试器的角度显示转义版本。 如果输出值(Response.Write()或Console.WriteLine()),您将看到您期望的版本。

如果突出显示变量(来自调试器)并选择放大镜图标旁边的下拉菜单并选择“Text Visualizer”,您将看到它以纯文本显示的方式。 这可能就是你要找的东西。

根据您的意见,我想建议您也观察如何将字符串转换为字节。 您希望确保以其他计算机可以理解的格式对字节进行编码。 确保使用命令将字符串转换为字节,如下所示:

System.Text.Encoding.ASCII.GetBytes(mystring);

我怀疑你是在发送字符串本身的位表示而不是编码版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM