Escaping a double quotes in string in c#

不打扰是莪最后的温柔 提交于 2019-12-20 04:12:17

问题


I know this has been covered lots of times but I still have a problem with all of the solutions.

I need to build a string to send to a JSON parser which needs quotes in it. I've tried these forms:

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

The debug statement shows it correctly [{"TS"}] but when I look at it in the debugger and most importantly when I send the string to my server side json parser is has the escape character in it: "[{\"TS\"}]"

How can I get rid of the escape characters in the actual string?


回答1:


The debug statement shows it correctly [{"TS"}] but when I look at it in the debugger and most importantly when I send the string to my server side json parser is has the escape character in it: "[{\"TS\"}]"

From the debugger point of view it will always show the escaped version (this is so you, as the developer, know exactly what the string value is). This is not an error. When you send it to another .Net system, it will again show the escaped version from the debugger point of view. If you output the value, (Response.Write() or Console.WriteLine()) you will see that the version you expect will be there.

If you highlight the variable (from the debugger) and select the dropdown next to the magnifying glass icon and select "Text Visualizer" you will see how it displays in plain text. This may be what you are looking for.

Per your comments, i wanted to suggest that you also watch how you convert your string in to bytes. You want to make sure you encode your bytes in a format that can be understood by other machines. Make sure you convert your string into bytes using a command as follows:

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

I have the sneaking suspicion that you are sending the bit representation of the string itself instead of an encoded version.



来源:https://stackoverflow.com/questions/14243720/escaping-a-double-quotes-in-string-in-c-sharp

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!