List<PageData> listKey = new ArrayList(); Iterator it = map.keySet().iterator(); while (it.hasNext()) { String key = it.next().toString(); PageData pdRow = new PageData(); pdRow.put("key", key); pdRow.put("value", map.get(key).toString()); listKey.add(pdRow); } /** * 集合重新排序 */ Collections.sort(listKey, new Comparator<PageData>() { public int compare(PageData pd1, PageData pd2) { String key1 = pd1.getString("key").toString(); String key2 = pd2.getString("key").toString(); String ondate1 = key1.substring(key1.indexOf("]")+1).toString(); String ondate2 = key2.substring(key2.indexOf("]")+1).toString(); return ondate2.compareTo(ondate1); } }); /** * 將數據結果集轉換成json格式 */ JSONArray json = new JSONArray(); for (PageData a : listKey) { JSONObject jo = new JSONObject(); jo.put("key", a.get("key")); jo.put("value", a.get("value")); json.add(jo); }