Acabo de actualizar mi proyecto de API web ASP de. Net core 2.0
a 3.0
. Estaba usando
services.AddMvc()
.AddJsonOptions(options =>options.SerializerSettings.ContractResolver
= new DefaultContractResolver());
previamente para garantizar la minúscula del JSON serializado.
Después de la actualización a 3.0, aparece este error:
El error CS1061 'IMvcBuilder' no contiene una definición para 'AddJsonOptions' y no se pudo encontrar ningún método de extensión accesible 'AddJsonOptions' aceptando un primer argumento de tipo 'IMvcBuilder' (¿le falta una directiva using o una referencia de ensamblado?)
De acuerdo con AddJsonOptions para MvcJsonOptions en Asp.Net Core 2.2, el método de extensión AddJsonOptions es / fue proporcionado por el paquete nuget de Microsoft.AspNetCore.Mvc.Formatters.Json . Intenté instalar / reinstalar esto pero todavía no puedo resolver el método. Curiosamente, intellisense solo muestra Microsoft.AspNetCore.Mvc.Formatters. Xml cuando intento agregar la declaración de uso a pesar de que agregué el paquete nuget de Json.
¿Alguna idea de lo que está pasando? La documentación para AddJsonOptions solo llega hasta .Net 2.2, por lo que tal vez el método haya quedado obsoleto en 3.0 a favor de algún otro mecanismo de configuración.
fuente
AddNewtonsoftJson
falta, incluso después de hacer referencia a esaMicrosoft.AspNetCore.Mvc.NewtonsoftJson
referencia.[JsonIgnore]
desde elSystem.Text.Json.Serialization
espacio de nombres.Esto funcionó para mí, mientras usaba
.Net Core 3
:fuente
o.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
o.JsonSerializerOptions.DictionaryKeyPolicy = null;
yo.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
Esto ayudaría
fuente