标签: utf8json

我将默认 JsonSerializer 设置为 Utf8Json

使用 c# 8 和 .netcore 3.1。

我在这里读到Utf8Json库处理json 序列化和反序列化的速度比NewtonsoftJson更快。

我们最近将服务器代码从.netcore 2.2 升级到 3.1,主要是为了提高性能。因此,我们也使用最好的序列化库是合理的。

所以我的问题是:

  1. 里面Startup.cs有这个

    services.AddControllers().AddNewtonsoftJson(options =>
    {
        options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
    });
    
    Run Code Online (Sandbox Code Playgroud)

我希望它使用不同的库,所以我发现我可以使用,.AddJsonOptions但我无法弄清楚如何设置默认序列化器,即使在使用我的 google-fu 技能之后也是如此。

  1. 由于我一直[JsonProperty("<name>")]在代码中到处使用以减少 json 字符串大小,我是否需要为新序列化器格式化所有内容,或者有没有办法让他考虑 property 属性?(属性为Newtonsoft)

谢谢。

c# serialization asp.net-core utf8json

4
推荐指数
1
解决办法
7184
查看次数

使属性不区分大小写

编辑:我使用的是Utf8Json而不是System.Text.Json

有没有可能的方法使 Utf8Json 反序列化器不区分大小写?目前,如果 json key-case 与 property-case 不匹配,则不会填充值。

我不想使用[DataMember(Name ="...")]

class Program
{
    static void Main(string[] args)
    {
        string json = "{\"testprop\":123,\"name\":\"TestObject\"}";
        var obj = JsonSerializer.Deserialize<Temp>(json);
        Console.ReadKey();
    }
}

public class Temp
{
    public int TestProp { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

.net c# utf8json

2
推荐指数
1
解决办法
804
查看次数

标签 统计

c# ×2

utf8json ×2

.net ×1

asp.net-core ×1

serialization ×1