kendo-asp.net-mvc - 将 JSON 序列化从 camelCase 更改为 PascalCase
问题描述
从 Core 2.1 迁移我的项目后。到 2.2。我的剑道小部件有问题。模型中的字段使用 PascalCase 指定,并且 JSON 中从服务器返回的字段名称使用 camelCase。
我在 Startup 中添加了 DefaultContractResolver,但 JSON 仍然在 camelCase 中序列化。这里有什么解决方法吗?
services
.AddMvc(options => options.EnableEndpointRouting = false).SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
.AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());
解决方案
我们在 Syncfusion 中遇到了类似的问题,期望使用 PascalCase。
到目前为止,我们找到的唯一解决方案是创建我们自己的
PascalCasePropertyNamesContractResolver : DefaultContractResolver
其中我们只是覆盖 ResolvePropertyName 以按原样返回密钥。
不幸的是,我们必须在每个 Json-Return 中引用这个 ContractResolver,如下所示:
return Json(new { result = result.Items, count = result.Count }, new JsonSerializerSettings { ContractResolver = new PascalCasePropertyNamesContractResolver () });
如果这里有更好的解决方案:欢迎并提前感谢。
推荐阅读
- html - 在 CSS 中,对于内部 Firefox 表,如何选择第一列?
- asp.net - 页面不会加载计算的 ASP WEB 变量
- python - 限制 numpy 1.19.2 使用的线程数
- influxdb - 如何使用通量检查测量中是否存在标签?
- google-apps-script - Googlesheet - 如何在宏循环中跳过空单元格并继续填充单元格?
- mongodb - 我们可以在使用 Mongoose 插入文档的同时将子文档插入到不同的集合中吗?
- laravel - Laravel:将新日志添加到日志文件
- sql - 使用下一个 id 顺序查询选择
- jquery - 当列有链接时,数据表列选择过滤器排序()不起作用
- reactjs - React Native 中的 Scrollview 错误修复