packagereference - ¿Cómo usar Newtonsoft.Json como predeterminado en Asp.net Core Web Api?
web api json c# (2)
Soy nuevo en ASP.Net Web Api Core . He estado usando ASP.Net MVC durante los últimos años y siempre he escrito un ActionFilter y JSON.Net usado JSON.Net para Serializing datos en JSON . Entonces, de esa manera, reemplacé el JavaScript Serializer Microsoft (que es más lento que JSON.Net ) con JSON.Net (se dice que es un 400% más rápido).
¿Cómo hacer todo esto en ASP.Net Web Api Core ? ¿Dónde cambiar el formateador por defecto ?
Nota: No dude en preguntar si tiene alguna pregunta.
Gracias
ASP.NET Core ya usa JSON.NET como JavaScriptSerializer no está implementado / portado a .NET Core.
Microsoft.AspNetCore.Mvc depende de Microsoft.AspNetCore.Formatter.Json que depende de Microsoft.AspNetCore.JsonPatch , que depende de Newtonsoft.Json (ver source ).
Actualizar
Esto solo es cierto para ASP.NET Core 1.0 a 2.2. ASP.NET Core 3.0 elimina la dependencia de JSON.NET y utiliza su propio serializador JSON.
Aquí hay un fragmento de código para ajustar la configuración de una aplicación central .net
public void ConfigureServices(IServiceCollection services)
{
services
.AddMvc()
.AddJsonOptions(options => {
// send back a ISO date
var settings = options.SerializerSettings;
settings.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat;
// dont mess with case of properties
var resolver = options.SerializerSettings.ContractResolver as DefaultContractResolver;
resolver.NamingStrategy = null;
});
}