JSONObject内部是用Hashmap来存储的,所以输出是按key的ASCII码排序来的,如果要让JSONObject按固定顺序(put的顺序)排列,可以修改JSONObject的定义HashMap改为LinkedHashMap。
public JSONObject() {
this.map = new LinkedHashMap(); //new HashMap();
}
即定义JSONObject可以这样:JSONObject jsonObj = new JSONObject(new LinkedHashMap());
或者 JSONObject jsonObj = new JSONObject(true);