JSONObject 顺序 排序
- 在传的JSON的情况下,JSON的顺序是按照输出是按key的 Hashmap 来排序的,导致参数传的数据跟 put 时的数据顺序会改变。

public static void main(String[] args) {
JSONObject jsonObject = new JSONObject(new LinkedHashMap<>());
jsonObject.put("9","九");
jsonObject.put("8","八");
jsonObject.put("7","七");
jsonObject.put("6","六");
jsonObject.put("5","五");
jsonObject.put("4","四");
jsonObject.put("3","三");
jsonObject.put("2","二");
jsonObject.put("1","一");
System.out.println(jsonObject);
}
- 可以修改JsonObject的定义HashMap改为LinkedHashMap。 即定义JsonObject可以这样:JSONObject jsonObj = new JSONObject(new LinkedHashMap());

public static void main(String[] args) {
JSONObject jsonObject = new JSONObject(new LinkedHashMap<>());
jsonObject.put("9","九");
jsonObject.put("8","八");
jsonObject.put("7","七");
jsonObject.put("6","六");
jsonObject.put("5","五");
jsonObject.put("4","四");
jsonObject.put("3","三");
jsonObject.put("2","二");
jsonObject.put("1","一");
System.out.println(jsonObject);
}
- 这样定义的JSONObject对象就能满足顺序不变的要求了。