配置:
- Azure Web API,C#,ASP.NET CORE 2.2
- Windows客户端,C#,. NET Framework 4.7.2
- Newtonsoft JSON,用于在服务器和客户端之间序列化对象
问题:
在发送DataTable
时,Newtonsoft JSON始终将列标题更改为camelCase。
例如,在传输之后,名为CostObjectKey
的列显示为costObjectKey
。
如何阻止Newtonsoft执行此操作?我希望栏标题保持不变。
配置:
问题:
在发送DataTable
时,Newtonsoft JSON始终将列标题更改为camelCase。
例如,在传输之后,名为CostObjectKey
的列显示为costObjectKey
。
如何阻止Newtonsoft执行此操作?我希望栏标题保持不变。
在启动公司的ConfigureServices
中,您可以添加MvcJsonOptions
。
services
.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver =
new Newtonsoft.Json.Serialization.DefaultContractResolver();
});
,
现在默认为camelCase。如果您需要/希望所有JSON输出都在PascalCase中,则解决方案非常简单。
您需要做的就是指定DefaultContractResolver。但这在asp net core 3中不起作用。
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc()
.AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());
}