【发布时间】:2017-09-21 21:46:33
【问题描述】:
我一直在 MVC 项目中使用 JSON.net 和 CamelCasePropertyNamesContractResolver 来返回 JSON。 我已经使用 JSON.net 4.5 一段时间了,在将其更新到版本 9 后,返回的 JSON 格式不同
示例:
在 4.5 中,属性调用 ALResults 将返回为 aLResults
int 9 相同的属性将与alResults 出现
我可以为每个类添加属性并将 JSON 强制为我需要的格式,但有更好的方法吗?
【问题讨论】:
-
Newtonsoft 有意更改了
ToCamelCase()的逻辑,如 CamelCase Conversion format got changed from 6.0 to 9.0 #1427 中所述。正如 JamesNK 在那里解释的那样,您可以通过从 DefaultContractResolver 继承来获得旧行为,使用 ToCamelCaseV6 方法覆盖解析属性名称的方法。然后使用新的 DefaultContractResolver 而不是 CamelCaseContractResolver。. -
更改可能在8.0.3:修复 - 修复了将某些属性名称转换为驼峰式大小写。
标签: c# json asp.net-mvc json.net camelcasing