在Json结果中传递带引号的字符串
本文关键字:字符串 Json 结果 | 更新日期: 2023-09-27 18:00:31
我想向基于REST服务请求的浏览器发送JSON响应。我在控制器方法:中使用了类似于的东西,其中包括一些引号
return Json("blah'"blah", JsonRequestBehavior.AllowGet);
我预计结果会是blah"blah
,但是blah'"blah
,也包括反斜杠!我想让blah"blah
在客户端不进行任何转换的情况下进行响应。我知道这需要通过C#代码来执行,但如何做到呢?
C#和JSON对字符的编码类似。字符串blah"blah
在C#和JSON中都被编码为"blah'"blah"
。那么,完全可以预期您的原始JSON包含反斜杠。
当您使用适当的JSON库解码该字符串时,它再次成为字符串blah"blah
。
我在上面的两个线程中找到了答案:
- ASP.Net MVC:如何基于原始Json数据创建JsonResult
- 如何在MVC4中将Json字符串输出为JsonResult
所以我需要使用这样的东西:
return Content(jsonStringFromSomewhere, "application/json");
考虑到这一点,考虑到在ajax请求外部服务或URL的情况下使用JSONP。但我想构建特定的字符串,因为我使用了一个特殊的解析器进行解析,并且我使用了JSON而不是JSONP,结果非常好。