How can we sort a JSONArray in Java?
我们可以在以下示例中对JSONArray进行排序。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import java.util.*; import org.json.*; public class SortJSONArrayTest { public static void main(String[] args) { String jsonStr ="[ {"ID":"115","Name":"Raja" },{"ID":"120","Name":"Jai" },{"ID":"125","Name":"Adithya" }]"; JSONArray jsonArray = new JSONArray(jsonStr); JSONArray sortedJsonArray = new JSONArray(); List list = new ArrayList(); for(int i = 0; i < jsonArray.length(); i++) { list.add(jsonArray.getJSONObject(i)); } System.out.println("Before Sorted JSONArray:" + jsonArray); Collections.sort(list, new Comparator() { private static final String KEY_NAME ="Name"; @Override public int compare(JSONObject a, JSONObject b) { String str1 = new String(); String str2 = new String(); try { str1 = (String)a.get(KEY_NAME); str2 = (String)b.get(KEY_NAME); } catch(JSONException e) { e.printStackTrace(); } return str1.compareTo(str2); } }); for(int i = 0; i < jsonArray.length(); i++) { sortedJsonArray.put(list.get(i)); } System.out.println("Sorted JSON Array with Name:" + sortedJsonArray); } } |
输出量
1 2 3 4 5 6 7 8 | Before Sorted JSONArray: [{"ID":"115","Name":"Raja"}, {"ID":"120","Name":"Jai"}, {"ID":"125","Name":"Adithya"}] Sorted JSON Array with Name: [{"ID":"125","Name":"Adithya"}, {"ID":"120","Name":"Jai"}, {"ID":"115","Name":"Raja"}] |