3

我正在尝试通过表单提交(多部分编码)将 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 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 台湾\n ','\n \n ','\n \n '] ]

在服务器端,我正在更换新线路,因为我不需要它们,

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

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

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

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

4

1 回答 1

6

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

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

快速演示:

在此处输入图像描述

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

于 2012-06-14T07:19:28.833 回答