视图ajax返回的json数据大小写问题
问题:
这次迁移项目就出现了,返回的json数据就会出现数据都为大写的情况,这时候你需要在AspnetCore中的Json序列化处理使用的是Newtonsoft.json
例如,Model中定义的对象class A{ public string Name{get;set;}},通过ajax请求返回前端时 变成了 A.NAME,原先在Js中写的A.Name获取不到值为null(js是严格区分大小写的),想要做到返回也是A.Name需要如下的操作
解决方案:
注意:
/*
* 1.在Core Mvc中JsonResult 默认支持Get请求
* 2.使用JQuery的ajax请求,返回json数据自动转换成 object对象
* 3.在 Core Mvc的 后台JsonResult序列化的时候,默认情况下自动 处理 的命名规则,改成了 js的驼峰格式
* 4.在 Core Mvc中json 的序列化发序列化使用的是Newtonsoft.Json库
* 5.默认没有处理循环引用的问题
*/
startup.cs的ConfigureServices中做这个注册
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0).AddJsonOptions(opt =>
{
opt.JsonSerializerOptions.PropertyNamingPolicy = null;//忽略大小写,匹配model字段大小写
opt.JsonSerializerOptions.IgnoreNullValues = false;//空数据也反回
});
完美解决