我将默认的 JsonSerializer 设置为 Utf8Json
I set default JsonSerializer to Utf8Json
使用 c# 8 和 .netcore 3.1。
我读过 HERE Utf8Json 库处理 json 序列化和反序列化比 NewtonsoftJson 更快。
我们最近将服务器代码从 .netcore 2.2 升级到 3.1,主要是为了提高性能。
因此,我们也使用最好的序列化库是合理的。
所以我的问题是:
在Startup.cs
中有这个
services.AddControllers().AddNewtonsoftJson(options =>
{
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
});
我希望它使用不同的库,所以我发现我可以使用 .AddJsonOptions
但我不知道如何设置默认序列化器,即使在使用我的 google-fu 之后技能。
- 由于我一直在我的代码中到处使用
[JsonProperty("<name>")]
以减少 json 字符串大小,我是否需要为新的序列化程序格式化所有内容,或者有没有办法让他考虑 属性 属性? (属性为 Newtonsoft)
谢谢。
@Ori 你可以在 net core 3.1 项目中使用 Utf8json。
使用
[DataMember(Name = "RoleType")]
public string Role_Type { get; set; }
而不是
[JsonProperty("<name>")]
要在 Asp.Net 核心中使用 Utf8json 格式化程序,您需要添加如下所述的格式化程序。
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews()
// Add Utf8Json formatters
.AddMvcOptions(option =>
{
option.OutputFormatters.Clear();
option.OutputFormatters.Add(new JsonOutputFormatter (StandardResolver.Default));
option.InputFormatters.Clear();
option.InputFormatters.Add(new JsonInputFormatter ());
});
}
您还可以参考下面 link 的格式化程序。
https://github.com/neuecc/Utf8Json/blob/master/src/Utf8Json.AspNetCoreMvcFormatter/Formatter.cs
我正在使用 utf8json,它对我们非常有用。
使用 c# 8 和 .netcore 3.1。
我读过 HERE Utf8Json 库处理 json 序列化和反序列化比 NewtonsoftJson 更快。
我们最近将服务器代码从 .netcore 2.2 升级到 3.1,主要是为了提高性能。 因此,我们也使用最好的序列化库是合理的。
所以我的问题是:
在
Startup.cs
中有这个services.AddControllers().AddNewtonsoftJson(options => { options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); });
我希望它使用不同的库,所以我发现我可以使用 .AddJsonOptions
但我不知道如何设置默认序列化器,即使在使用我的 google-fu 之后技能。
- 由于我一直在我的代码中到处使用
[JsonProperty("<name>")]
以减少 json 字符串大小,我是否需要为新的序列化程序格式化所有内容,或者有没有办法让他考虑 属性 属性? (属性为 Newtonsoft)
谢谢。
@Ori 你可以在 net core 3.1 项目中使用 Utf8json。
使用
[DataMember(Name = "RoleType")]
public string Role_Type { get; set; }
而不是
[JsonProperty("<name>")]
要在 Asp.Net 核心中使用 Utf8json 格式化程序,您需要添加如下所述的格式化程序。
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews()
// Add Utf8Json formatters
.AddMvcOptions(option =>
{
option.OutputFormatters.Clear();
option.OutputFormatters.Add(new JsonOutputFormatter (StandardResolver.Default));
option.InputFormatters.Clear();
option.InputFormatters.Add(new JsonInputFormatter ());
});
}
您还可以参考下面 link 的格式化程序。 https://github.com/neuecc/Utf8Json/blob/master/src/Utf8Json.AspNetCoreMvcFormatter/Formatter.cs
我正在使用 utf8json,它对我们非常有用。