JSONObject put 数据之后,排序会发生变化,例如。
JSONObject object = new JSONObject();
ersJson.put("pointno", 111);
ersJson.put("xtheory", 222);
ersJson.put("ytheory", 333);
ersJson.put("ztheory", 444);
输出结果可能为
{“ytheory”:333,“xtheory”:222,“ztheory”:444,“pointno”:111}
因为 JsonObject 内部是用 HashMap 来存储的,所以输出是按 key 的排序来的,如果要让 JsonObject 按固定顺序(put 的顺序)排列,可以修改 JsonObject 的定义 HashMap 改为 LinkedHashMap。
即
JSONObject jsonObj = new JSONObject(new LinkedHashMap());
输出后显示为正常顺序:
{“pointno”:111,“xtheory”:222,“ytheory”:333,“ztheory”:444}