JSONArrayのソート方法【Java】基本と応用

JSONArrayをソートするには、以下の手順に従う必要があります。

  1. 最初に、JSONArrayをListオブジェクトに変換して、ソート操作を行いやすくします。次のコードを使用して、JSONArrayをListに変換することができます:
JSONArray jsonArray = new JSONArray("[{\"name\":\"Alice\",\"age\":25},{\"name\":\"Bob\",\"age\":30},{\"name\":\"Charlie\",\"age\":20}]");
List<Object> list = jsonArray.toList();
  1. その後、ListをCollections.sort()メソッドを使ってソートします。 Comparatorをカスタマイズしてソート規則を指定することができます。 たとえば、ageフィールドで昇順にソートする場合:
Collections.sort(list, new Comparator<Object>() {
    @Override
    public int compare(Object o1, Object o2) {
        JSONObject obj1 = new JSONObject((Map) o1);
        JSONObject obj2 = new JSONObject((Map) o2);
        
        int age1 = obj1.getInt("age");
        int age2 = obj2.getInt("age");
        
        return age1 - age2;
    }
});
  1. 最後に、ソートされたリストをJSONArrayに変換します。ListをJSONArrayに変換するためには、以下のコードを使用できます:
JSONArray sortedJsonArray = new JSONArray(list);
System.out.println(sortedJsonArray.toString());

以上の手順を経ることで、JSONArrayをソートすることができます。

bannerAds