在一次做json字符串的转化的时候,我使用了
JSONObject json = JSONObject.fromObject(obj);
来把Object类型的obj转换为json字符串,但是在测试时却发现在转化的时候并没有按照一开始的插入的顺序进行转化。
在使用转换函数的时候,输入的顺序是:
"UserID":"XXXXXX","CNAME":"java","CID":"1","Start":"1371644311","End":"1410220800"
然而当转化完毕以后,却以一种奇怪的顺序转化出来:
"End":"1410220800","CNAME":"java","Start":"1371644311","UserID":"XXXXXX","CID":"1"
经过仔细寻找,发现原来是在工程的lib包中有重复的json-lib-jdk的包,
我以为是包的重复冲突引起的,就把低版本的删除了,问题就解决了
但是我感觉很好奇,到底是包冲突导致的转化异常,还是因为选择了低版本的包导致的转化异常,于是我还原以后又删掉了较高版本的json-lib-2.4-jdk15,使用低版本的包进行了测试:
结果显示 ,是较低版本的jar包在转换方面有异常。