将JSON序列化从camelCase更改为PascalCase

时间:2019-03-29 11:11:27

标签: kendo-asp.net-mvc aspnetboilerplate

从Core 2.1迁移项目后。至2.2。我的Kendo小部件出现问题。使用PascalCase指定模型中的字段,并使用camelCase从JSON服务器中返回的字段名称。

我在Startup中添加了DefaultContractResolver,但JSON仍在camelCase中进行了序列化。这里有任何解决方法吗?


services
  .AddMvc(options => options.EnableEndpointRouting = false).SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
  .AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());

1 个答案:

答案 0 :(得分:0)

我们在Syncfusion上期望PascalCase遇到类似的问题。

直到现在,我们发现的唯一解决方案是创建自己的

PascalCasePropertyNamesContractResolver : DefaultContractResolver

其中,我们只是覆盖ResolvePropertyName以按原样返回键。

不幸的是,我们必须在每个Json-Return中引用此ContractResolver,如下所示:

return Json(new { result = result.Items, count = result.Count }, new JsonSerializerSettings { ContractResolver = new PascalCasePropertyNamesContractResolver () });

如果这里有更好的解决方案:谢谢,谢谢。