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;
});