请问如何在MVC 4 Web API中为Json.NET设置自定义JsonSerializer

如何在MVC 4 Web API中为Json.NET设置自定义JsonSerializerSettings?

我了解ASP.NETWebAPI本机使用Json.NET来(反)序列化对象,但是否有一种方法可以指定JsonSerializerSettings对象,您想让它使用吗?

例如,如果我想包括type信息进入序列化的JSON字符串?通常,我会将设置插入到.Serialize()调用,但是WebAPI会默默地这样做。我找不到手动注入设置的方法。



收到一只叮咚
浏览 545回答 3
3回答

沧海一幻觉

您可以自定义JsonSerializerSettings通过使用Formatters.JsonFormatter.SerializerSettings属性中的HttpConfiguration对象。例如,可以在Application_start()方法中这样做:protected void Application_Start(){     HttpConfiguration config = GlobalConfiguration.Configuration;     config.Formatters.JsonFormatter.SerializerSettings.Formatting =         Newtonsoft.Json.Formatting.Indented;}

慕码人2483693

答案是将这2行代码添加到Global.asax.cs Application_start方法var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;json.SerializerSettings.PreserveReferencesHandling =      Newtonsoft.Json.PreserveReferencesHandling.All;参考资料:处理循环对象引用
打开App,查看更多内容
随时随地看视频慕课网APP