JSON.Net CamelCasePropertyNamesContractResolver在更新版本后返回不同的JSON
问题描述:
我一直在MVC项目中使用JSON.net和CamelCasePropertyNamesContractResolver来返回JSON。 我一直在使用JSON.net 4.5了一会儿,将其升级到版本9后返回JSON格式不同JSON.Net CamelCasePropertyNamesContractResolver在更新版本后返回不同的JSON
例如: 在4.5的属性调用ALResults
将返回作为aLResults
INT 9相同的属性会作为alResults
我可以给每个类添加属性,并强制JSON为我需要的格式,但有没有更好的方法来做到这一点?
答
感谢所有的评论。 终于结束了更新版本,并在模型类中使用JsonProperty
例如:
[JsonProperty("aLResults")]
public string ALResults{ get; set; }
所有JSON回报
。
将来,决定在JSON返回中使用所有简单操作。
Newtonsoft故意改变其ToCamelCase()的逻辑,如[CamelCase转换格式从6.0更改为9.0#1427](https://github.com/JamesNK/Newtonsoft.Json/issues/1427)中所述。 。正如JamesNK在那里解释的,*您可以通过继承DefaultContractResolver来获取旧行为,并使用ToCamelCaseV6方法重写解析属性名称的方法。然后使用新的DefaultContractResolver而不是CamelCaseContractResolver。*。 – dbc
这个修改可能是[8.0.3](https://github.com/JamesNK/Newtonsoft.Json/releases/tag/8.0.3):*修复 - 修正了一些属性名称到骆驼案件*。 – dbc
非常感谢你们。 – Bazzzzzzz