0

我这里有点奇怪(我认为这很奇怪!)。

我正在使用 Web 服务来返回一个字符串,并且我试图在字符串中加上引号,例如,我想返回 Craig 说的字符串“你好”,我通常会执行以下操作:

zString = "Craig says, \"Hello\""; 

但我实际上从 web 服务返回的是包含 \'s 的字符串。所以我实际上回来了:

克雷格说,“你好”

这让我发疯!有什么想法吗?一开始的这个声明会导致问题吗?

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]

谢谢,克雷格

4

3 回答 3

0

是的。由于是JSON 格式,它还"通过\在返回时使用来转义字符。

它与以下内容相同:

{
    "zString": "Craig says, \"Hello\""
}
于 2013-06-18T08:49:43.533 回答
0

json 输出中的 json 字符串,因此您需要对其进行两次解析。

于 2013-06-18T08:52:03.260 回答
0

RFC 4627:

除了必须转义的字符外,所有 Unicode 字符都可以放在引号内:引号、反斜线和控制字符(U+0000 到 U+001F)。

这仅仅意味着没有任何问题。该字符正在根据 json 标准进行转义。

于 2013-06-18T08:55:27.220 回答