首页 新闻 会员 周边 捐助

JavaScriptSerializer和json.net序列化html字符串的行为存在差异怎么解决?

0
[已解决问题] 解决于 2016-05-25 10:52

最近将项目中的的序列化组件由JavaScriptSerializer换成json.net的时候,发现一个奇怪的问题,它们对html字符串的序列化结果存在差异,请看下面代码。

看起来JavaScriptSerializer序列化的时候,对html标签进行了转义,而json.net序列化的时候没有做任何处理原封不动地输出。

请问,如何让json.net在序列化html字符的时候结果跟JavaScriptSerializer一样呢?希望高手能够给出解答,谢谢!

永远的麦子的主页 永远的麦子 | 初学一级 | 园豆:33
提问于:2016-05-25 09:45
< >
分享
最佳答案
0

使用 StringEscapeHandling.EscapeHtml 设置,示例代码如下:

public class Program
{
    public static void Main(string[] args)
    {
        var model = new { Title = "博客园", Body = "<p>程序员的网上家园</p>" };
        var settings = new JsonSerializerSettings
        {
            StringEscapeHandling = StringEscapeHandling.EscapeHtml
        };
        var json = JsonConvert.SerializeObject(model, settings);
        Console.OutputEncoding = System.Text.Encoding.UTF8;
        Console.WriteLine(json);
        Console.ReadKey();
    }
}
奖励园豆:5
dudu | 高人七级 |园豆:30939 | 2016-05-25 10:18

谢谢dudu,问题已经解决了。

永远的麦子 | 园豆:33 (初学一级) | 2016-05-25 10:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册