JSONObject 顺序 排序

JSONObject 顺序 排序

  1. 在传的JSON的情况下,JSON的顺序是按照输出是按key的 Hashmap 来排序的,导致参数传的数据跟 put 时的数据顺序会改变。JSONObject 顺序 排序_第1张图片
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);
    }
  1. 可以修改JsonObject的定义HashMap改为LinkedHashMap。 即定义JsonObject可以这样:JSONObject jsonObj = new JSONObject(new LinkedHashMap());
    JSONObject 顺序 排序_第2张图片
 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);
    }
  1. 这样定义的JSONObject对象就能满足顺序不变的要求了。

你可能感兴趣的:(java)