在asp.net core中使用ajax请求动态绑定数据时遇到该问题
后台返回数据字段首字母为定义的大写,返回的数据没有问题 属性缺变成了小写
1.添加属性注解
引用:using Newtonsoft.Json;
[Newtonsoft.Json.JsonProperty("BMI男总数")]
public int BMI男总数 { get; set; }=0;
2.在Startup类的ConfigureServices()方法中进行配置,DefaultContractResolver() 原样输出,返回的 json 与后台定义一致
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().AddJsonOptions(opt =>
{
opt.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver();//json字符串大小写原样输出
});
}
3. 在abp vnext框架中以上两种方法都不适用 可以试下下面的方法,缺点是所有返回的实体中无论首字母大小写都会改成首字母大写
在Startup类的ConfigureServices()添加以下代码
services.AddMvc().AddJsonOptions(options =>
{//解决返回实体属性英文小写问题
options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
options.JsonSerializerOptions.PropertyNamingPolicy = null;
});
其他注解