JSONObject.put数据后,会有个排序动作。
如:
"params": [{
"key": "arg0",
"value": "*act*null*act*"
},
{
"key": "arg1",
"value": "*space*5a56tq08xf*space*"
}, {
"key": "arg2",
"value": "*ba_lr*null*ba_lr*"
}
]
取出来的结果是:
{"arg2":"*ba_lr* *ba_lr*","arg1":"*space*5a56tq08xf*space*","arg0":"*act* *act*"}
根因是JsonObject内部是用Hashmap来存储的,输出是按key的排序来的,如果要让JsonObject按固定顺序(put的顺序)排列,可以修改JsonObject的定义HashMap改为LinkedHashMap。
JSONObject jsonObj =new JSONObject(newLinkedHashMap());
这样定义的JSONObject对象就能满足顺序不变的要求了。
参考文献:
https://blog.csdn.net/Butterfly_resting/article/details/100053544