今天公司同事遇到一个问题,接口返回的数据在不同的手机上显示的
顺序不一样,后面发现是JsonObject版本的问题,这里做的小记录
通过查找源代码发现:
在android 4.4.2(android-19)上,JsonObject的定义如下 :
/**
* Creates a {@code JSONObject} with no name/value mappings.
*/
public JSONObject() {
nameValuePairs = new HashMap<String, Object>();
}
在android 4.4w(android-20)上,JsonObject的定义如下 :
/**
* Creates a {@code JSONObject} with no name/value mappings.
*/
public JSONObject() {
nameValuePairs = new LinkedHashMap<String, Object>();
}
也就是说在android-20 上已经使用LinkedHashMap来存储键值对,LinkedHashMap就一个有顺序的