Ich kann Web API/JSON.NET bei der Serialisierung von Objekten nicht daran hindern, Newtonsoft.Json.PreserveReferencesHandling.Objects
zu verwenden. Mit anderen Worten, $ id/$ ref immer in den serialisierten Objekten trotz der folgenden Einstellungen:
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;
}
}
Irgendwelche Ideen?
diese Einstellung in der '' WebApiConfig'' Klasse ('' public static void Register (HttpConfiguration config) '' aufgerufen von der '' geschützten void Application_Start() '' innerhalb von Global.asax.cs – Michael
Gemäß @AndreHaverdings 'Antwort unten, PreserveReferencesHandling auf Alle setzt die Ids und Referenzen hinzugefügt werden. Einstellung Ihrer letzten Zeile zu 'jsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveRef escencesHandling.None; ' sollte den Trick tun. – Buzzwig