JSON व्यापक रूप से उपयोग किए जाने वाले डेटा-इंटरचेंज फॉर्मेट्स में से एक है और यह हल्का और भाषा-स्वतंत्र है। एक JSONArray एक String से टेक्स्ट पार्स करके वेक्टर-जैसा ऑब्जेक्ट बना सकता है और java.util.List इंटरफेस को सपोर्ट करता है।
हम नीचे दिए गए उदाहरण में JSONArray को सॉर्ट कर सकते हैं।
उदाहरण
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<JSONObject> 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<JSONObject>() { private static final String KEY_NAME = "Name"; @Override public int compare(JSONObject a, JSONObject b) { String str1 = ""; String str2 = ""; 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); } }आउटपुट
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"}]