c#反序列化JSON html字符串
本文关键字:字符串 html JSON 反序列化 | 更新日期: 2023-09-27 18:02:07
我试图在c#中反序列化JSON对象,我的问题是其中一个字段可以包含html文本(我计划事后对其进行消毒)。
我正在使用JavaScriptSerializer对象来反序列化,但是我得到一个"传入无效对象"错误(来自JavaScriptSerializer)。如果我为相同的字段传递纯文本,它会正常工作,对象中的其他字段(包括日期和数组)也会正确反序列化,所以看起来html是什么绊倒了它。
我使用JSON。stringify序列化Javascript对象,我通过jQuery将其传递给我的页面。
是否有我应该做的事情,以传递一个包含html的字符串?我试过用引号把它括起来,但是没有用。
作为接受字符串与抛出错误的例子:"Test"是好的,而
"<div style="text-align: center;">Test</div>"
不是。奇怪的是,<span>
标签似乎也很好。
能否在序列化前用javascript escape()
函数对html进行编码?
您可能必须在javascript中编码uriccomponent,然后是HttpServerUtility。.NET中的UrlDecode
由于安全原因,您不能传入未编码的HTML字符。你可以在MVC中重写这个。如果您对源代码感到安全,请在功能级应用Net。
就像这样做一些替换jsonString.Replace(@"=""'""",@"='""'""").Replace(@"'""""",@"'""'""").Replace(@"=""""", @"='""'""")