Запретите $ id / $ ref при сериализации объектов с использованием Web API и JSON.NET
Я не могу предотвратить использование Web API / JSON.NETNewtonsoft.Json.PreserveReferencesHandling.Objects
при сериализации объектов. Другими словами, $ id / $ ref всегда используются в сериализованных объектах, несмотря на использование следующих настроек:
public class MvcApplication : System.Web.HttpApplication {
protected void Application_Start () {
WebApiConfig.Register(GlobalConfiguration.Configuration);
}
}
public static class WebApiConfig {
public static void Register (HttpConfiguration config) {
JsonMediaTypeFormatter jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().Single();
jsonFormatter.UseDataContractJsonSerializer = false;
jsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented;
jsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
jsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;
}
}
Есть идеи?