Newtonsoft json序列化程序如何小写属性



我需要用小写显示json的属性第一个单词exmpple

{ name: ''} 

但我得到了

{ Name: ''} <-- Error: uppercase 

我正在使用:.net核心3.1Microsoft.AspNetCore.Mvc.NewtonsoftJson 3.1.23

我写这个

services.AddControllers()
.AddNewtonsoftJson(opt =>
{
opt.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver()
{

};
})
;

不工作

我一直在使用这种语法

services.AddControllers()
.AddNewtonsoftJson(options =>
options.SerializerSettings.ContractResolver =
new CamelCasePropertyNamesContractResolver());

您可以在Startup.cs file中添加以下代码。

public void ConfigureServices(IServiceCollection services)
{
//...
services.AddControllers().AddNewtonsoftJson();
JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
// ...
}

我发现问题是因为我使用Newtonsoft类创建了一个动态对象

Newtonsoft.Json.Linq.JObject obj = new Newtonsoft.Json.Linq.JObject();
obj.Add(new Newtonsoft.Json.Linq.JProperty("Emp",item.Key.E));
obj.Add(new Newtonsoft.Json.Linq.JProperty("Dep",item.Key.D));
obj.Add(new Newtonsoft.Json.Linq.JProperty("Pu",item.Key.P));

这个json对象没有转换为CamelCase和我的dtos类yes

相关内容

  • 没有找到相关文章

最新更新