![Trending Articles on Technical and Non Technical topics](/images/trending_categories.jpeg)
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How can we sort a JSONArray in Java?
The JSON is one of the widely used data-interchange formats and is a lightweight and language independent. A JSONArray can parse text from a String to produce a vector-like object and supports java.util.List interface.
We can sort a JSONArray in the below example.
Example
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); } }
Output
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"}]
Advertisements