简单的字符串替换出错

时间:2012-06-14 06:58:31

标签: c#

我试图通过表单提交(多部分编码)将json字符串发布到aspx页面,并根据反序列化的json字符串发回响应。 (我真的需要通过表单提交来做到这一点。没有ajax)

我不知道为什么这不起作用,但每次我尝试使用简单的字符串替换来替换json字符串中带双引号的单引号。它似乎没有发生。

以下是我所做的总结。

这是JSON字符串,

[["\n 22.02 13:15 \n ","\n \n \n \n ","\n \n \n \n ","\n \n \n "," \n Vereina\n ","\n \n ","\n 35 000\n ","\n 24.03.11\n ","\n Taiwan \n ","\n \n ","\n \n "]]

要通过表单数据发送,我将所有“引号”替换为“引号”,

[['\ n \ n22.02 13:15 \ n','\ n \ n \ n \ n','\ n \ n \ n \ n','\ n \ n \ n','\ n Vereina \ n','\ n \ n','\ n 35 000 \ n','\ n 24.03.11 \ n','\ n台湾\ n','\ n \ n','\ n \ n']]

在服务器端,我正在替换新行,因为我不需要它们,

[[' 22.02 13:15 ',' ',' ',' ','  Vereina ',' ',' 35 000 ',' 24.03.11 ',' Taiwan  ','  ','  ']]

然后我在上面使用C#字符串替换方法.Replace(“'”,“\”“),我得到的是

[[\" 22.02 13:15 \",\" \",\" \",\" \",\"  Vereina \",\" \",\" 35 000 \",\" 24.03.11 \",\" Taiwan  \",\"  \",\"  \"]]

我在MS Visual Studio的快速监视窗口中观察到这一点,同时在调试代码时也是如此。

1 个答案:

答案 0 :(得分:6)

调试器显示字符串,因为它们显示为C#字符串文字。这就是引号被转义的原因。但是,字符串不受影响。

您可以通过在某处打印字符串轻松验证。

快速演示:

enter image description here

在调试窗口(紫色)中,字符串显示带有转义的引号(并由quoation标记包围,从而使其成为C#字符串文字),而控制台中的输出(红色)显示实际内容。