A JSONObject เป็น ไม่เรียงลำดับ คอลเลกชันของ คีย์ คู่ค่า และค่าอาจเป็นประเภทใดก็ได้ เช่น Boolean, JSONArray, JSONObject, Number และ สตริง . คอนสตรัคเตอร์ของ JSONObject สามารถใช้ในการแปลงข้อความ JSON ของแบบฟอร์มภายนอกให้อยู่ในรูปแบบภายในซึ่งสามารถดึงค่าได้ด้วย get() และ opt() เมธอดหรือการแปลงค่าเป็นข้อความ JSON โดยใช้ put() และ toString() วิธีการ
ในตัวอย่างด้านล่าง เราสามารถจัดเรียงค่าของ JSONObject ตามลำดับจากมากไปน้อย
ตัวอย่าง
import org.json.*; import java.util.*; public class JSonObjectSortingTest { public static void main(String[] args) { List<Student> list = new ArrayList<>(); try { JSONObject jsonObj = new JSONObject(); jsonObj.put("Raja", 123); jsonObj.put("Jai", 789); jsonObj.put("Adithya", 456); jsonObj.put("Ravi", 111); Iterator<?> keys = jsonObj.keys(); Student student; while(keys.hasNext()) { String key = (String) keys.next(); student = new Student(key, jsonObj.optInt(key)); list.add(student); } Collections.sort(list, new Comparator<Student>() { @Override public int compare(Student s1, Student s2) { return Integer.compare(s2.pwd, s1.pwd); } }); System.out.println("The values of JSONObject in the descending order:"); for(Student s : list) { System.out.println(s.pwd); } } catch(JSONException e) { e.printStackTrace(); } } } // Student class class Student { String username; int pwd; Student(String username, int pwd) { this.username = username; this.pwd = pwd; } }
ผลลัพธ์
The values of JSONObject in the descending order: 789 456 123 111