更新[2019-12-23]: 部分由于声音社区的投入,此问题已添加到 .NET 5.0 的路线图中。
更新[2019-10-10]: 如果有兴趣看到针对System.Text.Json.JsonSerializer
继续阅读Chris Yungmann指出的GitHub公开问题,并发表意见。
代替这个:
JsonSerializerOptions options = new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
// etc.
};
JsonSerializer.Deserialize<SomeObject>(someJsonString, options);
我想做这样的事情:
// 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);
希望不必JsonSerializerOptions
在我们最常见的情况下传递的实例,而对异常(而不是规则)进行覆盖。
如本问答中所述,这是Json.Net的有用功能。我看着在文档的System.Text.Json
以及这个GitHub库为.NET的核心。还有这个。
在.NET Core 3中似乎没有类似的方法可以管理JSON序列化默认值。还是我忽略了它?
There doesn't seem to be an analog for managing JSON serialization defaults in Core-3
-您是在谈论进出API的请求吗?或对其他资源的请求和响应?