Java中对JSONArray中的对象进行排序

String jsonArrStr = "[ { \"ID\": \"135\", \"Name\": \"Fargo Chan\" },{ \"ID\": \"432\", \"Name\": \"Aaron Luke\" },{ \"ID\": \"252\", \"Name\": \"Dilip Singh\" }]";

JSONArray jsonArr =JSONObject.parseArray(jsonArrStr); JSONArray sortedJsonArray = new JSONArray(); List jsonValues = new ArrayList(); for (int i = 0; i < jsonArr.size(); i++) { jsonValues.add(jsonArr.getJSONObject(i)); } Collections.sort( jsonValues, new Comparator() { //You can change "Name" with "ID" if you want to sort by ID private static final String KEY_NAME = "ID"; @Override public int compare(JSONObject a, JSONObject b) { String valA = new String(); String valB = new String(); try { valA = (String) a.get(KEY_NAME); valB = (String) b.get(KEY_NAME); } catch (JSONException e) { //do something } return valB.compareTo(valA); //if you want to change the sort order, simply use the following: //return -valA.compareTo(valB); } }); for (int i = 0; i < jsonArr.size(); i++) { sortedJsonArray.add(jsonValues.get(i)); }

  

转载于:https://www.cnblogs.com/ampl/p/11377667.html

你可能感兴趣的:(Java中对JSONArray中的对象进行排序)