specified packagereference net microsoft aspnetcore asp app json serialization asp.net-web-api asp.net-core json.net

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