Supprimer les propriétés avec une valeur null sur l’API Web ASP.NET

J’ai créé un projet API Web ASP.Net qui sera utilisé par une application mobile. J’ai besoin de la réponse json pour omettre les propriétés null au lieu de les renvoyer en tant que property: null .

Comment puis-je faire ceci?

Dans le WebApiConfig :

 config.Formatters.JsonFormatter.SerializerSettings = new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore}; 

Ou, si vous souhaitez plus de contrôle, vous pouvez remplacer le formateur complet:

 var jsonformatter = new JsonMediaTypeFormatter { SerializerSettings = { NullValueHandling = NullValueHandling.Ignore } }; config.Formatters.RemoveAt(0); config.Formatters.Insert(0, jsonformatter); 

Je me suis retrouvé avec ce morceau de code dans le fichier startup.cs en utilisant ASP.NET5 1.0.0-beta7

 services.AddMvc().AddJsonOptions(options => { options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; }); 

Si vous utilisez vnext, dans les projets vnext web api, ajoutez ce code au fichier startup.cs.

  public void ConfigureServices(IServiceCollection services) { services.AddMvc().Configure(options => { int position = options.OutputFormatters.FindIndex(f => f.Instance is JsonOutputFormatter); var settings = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }; var formatter = new JsonOutputFormatter(); formatter.SerializerSettings = settings; options.OutputFormatters.Insert(position, formatter); }); }