ASP.Net核心WebAPI,使用NewtonsoftJson时删除驼峰式json数据中断

问题描述

我在启动类中添加了以下内容

    services.AddControllers()
        .AddJsonoptions(opts => opts.JsonSerializerOptions.PropertyNamingPolicy = null);
        .AddNewtonsoftJson(options => options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore); 

当我设置PropertyNamingPolicy = null时,它会删除我想要的json数据的驼峰式外壳。

但是,当我添加AddNewtonsoftJson选项时,它实际上似乎覆盖了先前的设置,并将其设置回驼峰式。我想知道我是否正在混合我不应该混合的东西。

更新:显然,它已覆盖它,我不应该混在一起。当我执行以下操作时,我不再遇到骆驼套问题:

    services.AddControllers()
    .AddNewtonsoftJson(opt =>
    {
        opt.SerializerSettings.ContractResolver = new DefaultContractResolver();
        opt.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
    }); 

设置DefaultContractResolver似乎与将PropertyNamingPolicy设置为null相同。它删除了骆驼的外壳

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)