在Json结果中使用Quote传递字符串

时间:2014-04-28 19:32:27

标签: c# json string rest

我想向基于 REST 服务请求的浏览器发送JSON响应。我在Controller Method中使用类似的内容

return Json("blah\"blah", JsonRequestBehavior.AllowGet);

我希望结果为blah"blah 但是 blah\"blah还包括反斜杠!我希望blah"blah响应,而不在客户端进行任何转换。我知道需要通过C#代码执行此操作但是如何做到这一点?

2 个答案:

答案 0 :(得分:3)

C#和JSON编码字符的方式相似。字符串blah"blah在C#和JSON中编码为"blah\"blah"。因此,完全可以预期您的原始JSON包含反斜杠。

使用正确的JSON库解码该字符串时,它再次成为字符串blah"blah

答案 1 :(得分:0)

我在以上两个主题中找到了答案:

  1. ASP.Net MVC: how to create a JsonResult based on raw Json Data
  2. How to output Json string as JsonResult in MVC4?
  3. 所以我需要使用这样的东西:

    return Content(jsonStringFromSomewhere, "application/json");
    

    考虑到在ajax请求外部服务或URL的情况下使用JSONP,请记住这一点。但我想构建特定的字符串,因为使用特殊的解析器进行解析,我使用的是JSON而不是JSONP,结果很棒。