摆脱在C#中的字符串中的双引号(Escaping a double quotes in string

2019-08-06 04:50发布

我知道这已经覆盖了很多次,但我仍然有所有的解决方案的问题。

我需要建立一个字符串,发送到一个JSON解析器需要它的报价。 我已经试过这些形式:

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

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

我怎样才能在实际的字符串摆脱转义字符的?

Answer 1:

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

但从调试角度,它会永远显示转义版本(这是所以你,作为开发商,知道的字符串值是什么)。 这是不是一个错误。 当你把它发送给其他.NET系统,它会再次显示但从调试点转义版本。 如果你的输出值,(的Response.Write()或Console.WriteLine()),您将看到您所期望的版本将在那里。

如果选中变量(从调试器),然后选择旁边的放大镜图标的下拉菜单,选择“文本可视化”,你会看到它是如何显示的纯文本。 这可能是你在找什么。

根据您的意见,我想建议你也看你如何转换你的字符串中的字节。 你要确保你编码您的字节,可以通过其他机器能够理解的格式。 请务必将您的字符串转换成使用命令如下字节:

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

我有心想准是要发送的字符串本身,而不是编码版本的比特表示。



文章来源: Escaping a double quotes in string in c#
标签: c# .net netduino