我是ASP.Net Web Api Core的新手。我过去几年一直在使用ASP.Net MVC,我总是编写一个ActionFilter
并使用JSON.Net
将Serializing
数据导入JSON
。所以,通过这种方式,我用JavaScript Serializer
取代了微软的JSON.Net
(比JSON.Net
慢)(声称速度提高了400%)。
如何在ASP.Net Web Api Core中完成所有这些操作?在哪里更改默认格式化程序?
注意:如果您有任何疑问,请随时询问。
谢谢
ASP.NET Core已经使用JSON.NET,因为JavaScriptSerializer
未实现/移植到.NET Core。
Microsoft.AspNetCore.Mvc
依赖于Microsoft.AspNetCore.Formatter.Json
,这取决于Microsoft.AspNetCore.JsonPatch
,这取决于Newtonsoft.Json
(见source)。
这仅适用于ASP.NET Core 1.0到2.2。 ASP.NET Core 3.0消除了对JSON.NET的依赖,并使用它自己的JSON序列化程序。
这是一个代码片段,用于调整.net核心应用程序的设置
public void ConfigureServices(IServiceCollection services)
{
services
.AddMvc()
.AddJsonOptions(options => {
// send back a ISO date
var settings = options.SerializerSettings;
settings.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat;
// dont mess with case of properties
var resolver = options.SerializerSettings.ContractResolver as DefaultContractResolver;
resolver.NamingStrategy = null;
});
}