在Json结果中传递带引号的字符串

本文关键字:字符串 Json 结果 | 更新日期: 2023-09-27 18:00:31

我想向基于REST服务请求的浏览器发送JSON响应。我在控制器方法:中使用了类似于的东西,其中包括一些引号

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

我预计结果会是blah"blah,但是blah'"blah也包括反斜杠!我想让blah"blah在客户端不进行任何转换的情况下进行响应。我知道这需要通过C#代码来执行,但如何做到呢?

在Json结果中传递带引号的字符串

C#和JSON对字符的编码类似。字符串blah"blah在C#和JSON中都被编码为"blah'"blah"。那么,完全可以预期您的原始JSON包含反斜杠。

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

我在上面的两个线程中找到了答案:

  1. ASP.Net MVC:如何基于原始Json数据创建JsonResult
  2. 如何在MVC4中将Json字符串输出为JsonResult

所以我需要使用这样的东西:

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

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