JSONObject jsObj = new JSONObject();jsObj.put("1","1");
jsObj.put("2","2");
jsObj.put("3","3");
jsObj.put("4","4");
jsObj.put("5","5");
jsObj.put("6","6");这样的话 jsObj中的顺序是乱的~,有什么办法解决吗?尝试过如下方法,
LinkedHashMap<Object,Object> linkedHashMap = new LinkedHashMap<Object,Object>();
linkedHashMap .put("1","1");
linkedHashMap .put("2","2");
linkedHashMap .put("3","3");
linkedHashMap .put("4","4");
linkedHashMap .put("5","5");
linkedHashMap .put("6","6");
jsObj.putAll(linkedHashMap );jsObj对象中依然乱序

解决方案 »

  1.   

    map 是无序的,放进去的时候就没有按顺序放,JSONObject jsObj = new JSONObject();jsObj.put("1","1"); JSONObject 实现了map,其实这里也是调用的map中的put ,所以和下面一样,无序
      

  2.   


    是的,那么有办法有序否?因为在页面上要显示jsonObj ,需要按固定的顺序显示
      

  3.   

    你是一定要根据键值对取值吗?如果不是你可以用List ,JSONArray 是用序的
      

  4.   

    用ArrayList保存把,可以解决这个问题,如果还不行那就自己写一个冒泡排序的方法
      

  5.   

    你可尝试重写key的hashCode方法,key的hashcode按照自然顺序排列。
    然后:
    linkedHashMap .put(new Key(1),"1"); 
    linkedHashMap .put(new Key(2),"2"); 
    ……