最近在自学C#,用它写脚本的时候碰到一个问题。
用C#的 Newtonsoft.Json 解析json字符串的时候,会自动的把json对象进行反序列化并且将它给格式化了,虽然看似很方便,但是并不是想要的结果。
因为要做的是把json对象的最外边的键按照ASCII码进行排序,然后拼接成key=value&的字符串最后进行md5加密。服务器端存在加密校验(java实现的),所以字符串中哪怕一个引号出错,校验都是无法通过的。但是C#对于json的处理,很“温柔”地把数据格式化了,就像这样:
然后如果拼接字符串的时候是这样的!而且b的值是字符串,那两个标志性的引号也被隐藏掉了!!!
查了半天资料,辗转问了好几个C#工程师也没解决问题,就在快要放弃时候,发现了个意外惊喜。java的代码&#