/** * 按照JSONArray中的对象的某个字段进行排序(采用fastJson) * * @param jsonArrStr -->需要排序的json数组字符串 * */ public static String jsonArraySort(String jsonArrStr) { JSONArray jsonArr = JSON.parseArray(jsonArrStr); JSONArray sortedJsonArray = new JSONArray(); List<JSONObject> jsonValues = new ArrayList<JSONObject>(); for (int i = 0; i < jsonArr.size(); i++) { jsonValues.add(jsonArr.getJSONObject(i)); } Collections.sort(jsonValues, new Comparator<JSONObject>() { // 根据time这个字段排序 private static final String KEY_NAME = "time"; @Override public int compare(JSONObject a, JSONObject b) { String valA = new String(); String valB = new String(); try { // 这里是a、b需要处理的业务,需要根据你的规则进行修改。 String aStr = a.getString(KEY_NAME); valA = aStr.replaceAll("-", ""); String bStr = b.getString(KEY_NAME); valB = bStr.replaceAll("-", ""); } catch (JSONException e) { // do something } return -valA.compareTo(valB); } }); for (int i = 0; i < jsonArr.size(); i++) { sortedJsonArray.add(jsonValues.get(i)); } return sortedJsonArray.toString(); }