Java での JSON 配列の並べ替えおよびフィルター操作の詳細な説明
Java 開発では、JSON データの処理が一般的なタスクです。一般的に使用されるデータ構造の 1 つである JSON 配列は、実際のアプリケーションではソートとフィルター操作が必要になることがよくあります。この記事では、Java での JSON 配列の並べ替えとフィルター操作を詳細に紹介し、対応するコード例を示します。
1. JSON 配列のソート操作
Java では、JSON ライブラリを使用して JSON データを処理します。一般的な方法。このうち、json ライブラリは、JSON 配列を格納するための JSONArray クラスを提供します。
まず、次の依存関係をインポートする必要があります:
import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject;
次に、JSONArray クラスのコンストラクター メソッドを通じて、JSON 文字列を JSONArray オブジェクトに変換します:
String jsonString = "[{"name":"Tom","age":30},{"name":"Jerry","age":20}]"; JSONArray jsonArray = new JSONArray(jsonString);
Java では、Comparator インターフェイスを使用して並べ替えルールを定義できます。 Comparator オブジェクトをカスタマイズして、どのフィールドで並べ替えるかを指定できます。サンプル コードは次のとおりです:
import java.util.Comparator; class UserComparator implements Comparator<JSONObject> { public int compare(JSONObject obj1, JSONObject obj2) { try { int age1 = obj1.getInt("age"); int age2 = obj2.getInt("age"); return Integer.compare(age1, age2); } catch (JSONException e) { e.printStackTrace(); return 0; } } }
上の例では、UserComparator クラスをカスタマイズし、Comparator インターフェイスを実装し、compare メソッドをオーバーライドしました。 Compare メソッドは、2 つの JSONObject オブジェクトの age フィールドを取得し、それらのサイズを比較することで、対応する並べ替え結果を返します。
Comparator オブジェクトを使用すると、Collections クラスの sort メソッドを通じて JSON 配列を並べ替えることができます。サンプル コードは次のとおりです。 ##
List<JSONObject> list = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { try { JSONObject obj = jsonArray.getJSONObject(i); list.add(obj); } catch (JSONException e) { e.printStackTrace(); } } Collections.sort(list, new UserComparator());
JSONArray sortedJsonArray = new JSONArray(list); System.out.println(sortedJsonArray.toString());
import java.util.function.Predicate; class AgeFilter implements Predicate<JSONObject> { public boolean test(JSONObject obj) { try { int age = obj.getInt("age"); return age >= 25; } catch (JSONException e) { e.printStackTrace(); return false; } } }
List<JSONObject> filteredList = list.stream() .filter(new AgeFilter()) .collect(Collectors.toList());
JSONArray filteredJsonArray = new JSONArray(filteredList); System.out.println(filteredJsonArray.toString());
以上がJava での JSON 配列のソートおよびフィルタリング操作の詳細な説明。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。