在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;
            });

其他注解

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐