MISE À JOUR [2019-12-23]: En raison en partie de la contribution de la communauté vocale , ce problème a été ajouté à la feuille de route pour .NET 5.0.
MISE À JOUR [10/10/2019]: Si vous souhaitez voir ce comportement implémenté pourSystem.Text.Json.JsonSerializerdirigez-vous vers le problème ouvert de GitHub signalé par Chris Yungmann et pesez.
Au lieu de cela:
JsonSerializerOptions options = new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
// etc.
};
JsonSerializer.Deserialize<SomeObject>(someJsonString, options);
Je voudrais faire quelque chose comme ça:
// 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);
L'espoir est de ne pas avoir à passer une instance de JsonSerializerOptionspour nos cas les plus courants, et de passer outre à l'exception, pas à la règle.
Comme indiqué dans ces questions et réponses, il s'agit d'une fonctionnalité utile de Json.Net. J'ai regardé dans la documentation pour System.Text.Jsonainsi que ce dépôt GitHub pour .NET Core. Et celui-là .
Il ne semble pas y avoir d'analogue pour gérer les valeurs par défaut de sérialisation JSON dans .NET Core 3. Ou suis-je en train de l'ignorer?
There doesn't seem to be an analog for managing JSON serialization defaults in Core-3- parlez-vous de requêtes entrant et sortant de votre API? ou demandes et réponses à d'autres ressources?