今天公司同事遇到一個問題,接口返回的數(shù)據(jù)在不同的手機上顯示的
順序不一樣,后面發(fā)現(xiàn)是JsonObject版本的問題,這里做的小記錄
通過查找源代碼發(fā)現(xiàn):
在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 上已經(jīng)使用LinkedHashMap來存儲鍵值對,LinkedHashMap就一個有順序的