tutorial route net asp asp.net-web-api

route - Suprimir las propiedades con valor nulo en ASP.NET Web API



web api get (3)

En la WebApiConfig :

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

O bien, si desea más control, puede reemplazar el formateador completo:

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

Creé un proyecto de API WEB ASP.Net que será utilizado por una aplicación móvil. Necesito la respuesta json para omitir las propiedades nulas en lugar de devolverlas como property: null .

¿Cómo puedo hacer esto?


Si está utilizando vnext, en proyectos vnext web api, agregue este código al archivo startup.cs.

public void ConfigureServices(IServiceCollection services) { services.AddMvc().Configure<MvcOptions>(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); }); }


Terminé con este fragmento de código en el archivo startup.cs usando ASP.NET5 1.0.0-beta7

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