我正在使用Newtonsoft CamelCasePropertyNamesContractResolver将对象序列化为json。我看到字典键的奇怪的属性名称转换。
为什么更改键DEMO => demo
却更改为DEMO Long => demO Long
(大写O而不是小o)?
更多测试:
Dictionary Key Json Property Name(After serialization)
------------ ----------------
THISISMYKEY thisismykey
DEMO demo
DEMO Long demO Long
LONGDEMOKAY longdemokay
OOOO oOOOoo oooO oOOOoo
C#参考代码:
Dictionary<string,long> collection = new Dictionary<string,long>();
collection.Add("THISISMYKEY",100);
collection.Add("DEMO",200);
collection.Add("thisissmallkey",300);
collection.Add("LONGDEMOKAY",400);
collection.Add("THISISOTHER",500);
collection.Add("OOOO oOOOoo",600);
collection.Add("DEMO Long",700);
var response = JsonConvert.SerializeObject(collection,new JsonSerializerSettings{
ContractResolver = new CamelCasePropertyNamesContractResolver()
});