Penjelasan terperinci tentang operasi pengisihan dan penapisan tatasusunan JSON dalam Java
Dalam pembangunan Java, memproses data JSON ialah tugas biasa. Sebagai salah satu struktur data yang biasa digunakan, tatasusunan JSON selalunya memerlukan operasi pengisihan dan penapisan dalam aplikasi praktikal. Artikel ini akan memperkenalkan secara terperinci operasi pengisihan dan penapisan tatasusunan JSON dalam Java dan memberikan contoh kod yang sepadan.
1. Operasi pengisihan tatasusunan JSON
Di Java, menggunakan perpustakaan json untuk memproses data JSON ialah cara biasa. Antaranya, perpustakaan json menyediakan kelas JSONArray untuk menyimpan tatasusunan JSON.
Pertama, kita perlu mengimport kebergantungan berikut:
import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject;
Kemudian, tukar rentetan JSON menjadi objek JSONArray melalui kaedah pembina kelas JSONArray:
String jsonString = "[{"name":"Tom","age":30},{"name":"Jerry","age":20}]"; JSONArray jsonArray = new JSONArray(jsonString);
anda boleh menggunakan Comparator Interface mentakrifkan peraturan pesanan. Kami boleh menyesuaikan objek Comparator untuk menentukan medan yang hendak diisih Kod sampel adalah seperti berikut:
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; } } }
Dengan objek Pembanding, kita boleh mengisih tatasusunan JSON melalui kaedah isihan kelas Koleksi Kod sampel adalah seperti berikut:
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());
Melalui operasi di atas, kami telah mengisih tatasusunan JSON mengikut peraturan pengisihan yang ditentukan. Seterusnya, kita boleh menukar hasil yang diisih ke dalam tatasusunan JSON dan mengeluarkannya ke konsol Kod sampel adalah seperti berikut:
JSONArray sortedJsonArray = new JSONArray(list); System.out.println(sortedJsonArray.toString());
Tukar hasil yang diisih kepada rentetan JSON dengan memanggil kaedah toString objek JSONArray dan mengeluarkannya kepada. konsol itu.
Dalam Java 8 dan ke atas, anda boleh menggunakan antara muka Predikat untuk melaksanakan operasi penapisan. Kami boleh menyesuaikan objek Predikat untuk menentukan syarat penapisan Kod sampel adalah seperti berikut:
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; } } }
Dengan objek Predikat, kita boleh menapis tatasusunan JSON melalui API Strim Kod sampel adalah seperti berikut:
List<JSONObject> filteredList = list.stream() .filter(new AgeFilter()) .collect(Collectors.toList());
Melalui operasi di atas, kami telah menapis tatasusunan JSON mengikut peraturan penapisan yang ditentukan. Seterusnya, kita boleh menukar hasil yang ditapis ke dalam tatasusunan JSON dan mengeluarkannya ke konsol Kod sampel adalah seperti berikut:
JSONArray filteredJsonArray = new JSONArray(filteredList); System.out.println(filteredJsonArray.toString());
Tukar hasil yang ditapis menjadi rentetan JSON dengan memanggil kaedah toString objek JSONArray dan mengeluarkannya ke. konsol itu.
Ringkasan:
🎜Artikel ini memperincikan operasi pengisihan dan penapisan tatasusunan JSON dalam Java dan menyediakan contoh kod yang sepadan. Dengan mengisih dan menapis tatasusunan JSON, kami boleh mendapatkan data yang kami perlukan berdasarkan keperluan sebenar. Menggunakan operasi ini boleh meningkatkan kecekapan dan ketepatan pemprosesan data JSON kami. Saya harap artikel ini akan membantu pembaca dalam pembangunan sebenar. 🎜Atas ialah kandungan terperinci Penjelasan terperinci tentang operasi pengisihan dan penapisan tatasusunan JSON di Java.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!