JSONObject输入一个对象后输出对象,属性顺序不一致

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}

你可能感兴趣的:(JS)