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.JsonSerializer
dirigez-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 JsonSerializerOptions
pour 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.Json
ainsi 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?