JSONObject.put數(shù)據(jù)后,會(huì)有個(gè)排序動(dòng)作。
如:
"params": [{
"key": "arg0",
"value": "*act*null*act*"
},
{
"key": "arg1",
"value": "*space*5a56tq08xf*space*"
}, {
"key": "arg2",
"value": "*ba_lr*null*ba_lr*"
}
]
取出來(lái)的結(jié)果是:
{"arg2":"*ba_lr* *ba_lr*","arg1":"*space*5a56tq08xf*space*","arg0":"*act* *act*"}
根因是JsonObject內(nèi)部是用Hashmap來(lái)存儲(chǔ)的,輸出是按key的排序來(lái)的,如果要讓JsonObject按固定順序(put的順序)排列穿撮,可以修改JsonObject的定義HashMap改為L(zhǎng)inkedHashMap。
JSONObject jsonObj =new JSONObject(newLinkedHashMap());
這樣定義的JSONObject對(duì)象就能滿足順序不變的要求了痪欲。
參考文獻(xiàn):
https://blog.csdn.net/Butterfly_resting/article/details/100053544