溫馨提示×

java中jsonobject排序的方法是什么

小億
301
2024-01-12 20:02:31
欄目: 編程語言

在Java中,JSONObject是一個無序的鍵值對集合,不支持直接排序。但是,你可以將JSONObject中的鍵值對轉換為List,然后對List進行排序。

以下是通過將JSONObject中的鍵值對轉換為List并進行排序的示例代碼:

import org.json.JSONObject;
import java.util.*;

public class Main {
    public static void main(String[] args) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "John");
        jsonObject.put("age", 30);
        jsonObject.put("city", "New York");

        // 將JSONObject中的鍵值對轉換為List
        List<Map.Entry<String, Object>> entries = new ArrayList<>(jsonObject.toMap().entrySet());

        // 對List進行排序
        Collections.sort(entries, new Comparator<Map.Entry<String, Object>>() {
            public int compare(Map.Entry<String, Object> entry1, Map.Entry<String, Object> entry2) {
                return entry1.getKey().compareTo(entry2.getKey());
            }
        });

        // 打印排序后的鍵值對
        for (Map.Entry<String, Object> entry : entries) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

輸出結果:

age: 30
city: New York
name: John

在示例中,首先將JSONObject中的鍵值對轉換為List,然后使用Collections.sort方法對List進行排序,最后遍歷排序后的List打印鍵值對。在比較函數中,我們使用了entry1.getKey().compareTo(entry2.getKey())來比較鍵的大小,從而實現按鍵進行排序。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女