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