我知道ASP.NET Web API本机使用Json.NET来(反)序列化对象,但是有没有办法指定一个您希望它使用的JsonSerializerSettings
对象呢?
例如,如果我想将type
信息包含到序列化的JSON字符串中,该怎么办?通常,我会将设置注入到.Serialize()
调用中,但Web API会静默地执行此操作。我找不到手动注入设置的方法。
发布于 2012-11-08 01:17:09
您可以使用HttpConfiguration
对象中的Formatters.JsonFormatter.SerializerSettings
属性来自定义JsonSerializerSettings
。
例如,您可以在Application_Start()方法中执行此操作:
protected void Application_Start()
{
HttpConfiguration config = GlobalConfiguration.Configuration;
config.Formatters.JsonFormatter.SerializerSettings.Formatting =
Newtonsoft.Json.Formatting.Indented;
}
发布于 2016-08-19 11:49:13
答案是将这两行代码添加到Global.asax.cs Application_Start方法中
var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling =
Newtonsoft.Json.PreserveReferencesHandling.All;
https://stackoverflow.com/questions/13274625
复制相似问题