[英]Strange behavior with Json Serialization of dictionary key in camelcase using Newtonsoft
我正在使用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()
});
您确定具有Newtonsoft.Json的最新版本和12.0.3版本吗,我的示例中与此结果相关:
{"thisismykey":100,"demo":200,"thisissmallkey":300,"longdemokay":400,"thisisother":500,"oooo oOOOoo":600,"demo Long":700}
我没看到任何问题吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.