JsonResult使用Html编码

时间:2010-01-26 21:01:06

标签: c# asp.net-mvc

我必须返回一个包含一些HTML的JsonResult。

所以,比如:

return Json(new { id="guid", html="<param id='id'/>" });

然而,当我得到结果时,尖括号被编码为u003e,u003c 等等。

我尝试了各种编码器,但无法想出这个。有人碰到这个吗?

我可以使用Response.ContentType =“application / json”返回Content(字符串)而不会出现此问题,但我的json对象非常复杂,如果可能的话我宁愿返回JsonResult。

谢谢!

2 个答案:

答案 0 :(得分:3)

那只是Unicode。一旦你在浏览器中显示它就会很好(如果浏览器是你的客户端应用程序)。

答案 1 :(得分:1)

这样做是为了通过在数据中插入恶意HTML标记来防止潜在的XSS攻击。它不应该有你的功能差异。 "\uxxxx"表示与未编码版本相同的字符。