ACTUALIZACIÓN [2019-12-23]: Debido en parte a la opinión de la comunidad vocal , este problema se ha agregado a la hoja de ruta para .NET 5.0.
ACTUALIZACIÓN [2019-10-10]: si está interesado en ver este comportamiento implementado paraSystem.Text.Json.JsonSerializer
diríjase al tema abierto de GitHub señalado por Chris Yungmann y evalúe .
En lugar de esto:
JsonSerializerOptions options = new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
// etc.
};
JsonSerializer.Deserialize<SomeObject>(someJsonString, options);
Me gustaría hacer algo como esto:
// This property is a pleasant fiction
JsonSerializer.DefaultSettings = new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
// etc.
};
// This uses my options
JsonSerializer.Deserialize<SomeObject>(someJsonString);
// And somewhere else in the same codebase...
// This also uses my options
JsonSerializer.Deserialize<SomeOtherObject>(someOtherJsonString);
La esperanza es no tener que pasar una instancia de JsonSerializerOptions
nuestros casos más comunes, y anular la excepción, no la regla.
Como se indica en estas preguntas y respuestas, esta es una característica útil de Json.Net. Miré en la documentación para el System.Text.Json
, así como la cesión temporal de GitHub para .NET Core. Y éste .
No parece haber un análogo para administrar los valores predeterminados de serialización JSON en .NET Core 3. ¿O lo estoy pasando por alto?
There doesn't seem to be an analog for managing JSON serialization defaults in Core-3
- ¿Estás hablando de solicitudes dentro y fuera de tu API? o solicitudes y respuestas a otros recursos?