将引号放在c#字符串中

时间:2013-06-18 08:48:04

标签: c# asp.net web-services

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

我正在使用Web服务返回一个字符串,我正在尝试在字符串中放置引号,所以说例如我想返回字符串Craig说,“你好”我通常会这样做:

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

但我实际从webservice回来的是包含\的字符串。所以我真的回来了:

克雷格说,“你好”

这让我很开心!任何人的想法?这个声明一开始可能导致问题吗?

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

谢谢, 克雷格

3 个答案:

答案 0 :(得分:0)

是。在JSON format, it also escapes the " characters by using \ when returned.

它与:

相同
{
    "zString": "Craig says, \"Hello\""
}

答案 1 :(得分:0)

json输出中的json字符串,所以你需要解析它两次。

答案 2 :(得分:0)

RFC 4627:

  

所有Unicode字符都可以放在      除了必须转义的字符之外的引号:      引号,反向实线和控制字符(U + 0000      通过U + 001F)。

这只是意味着没有错。 根据json标准对角色进行转义。