Pemprosesan fail JSON yang cekap adalah penting dalam aplikasi moden. Jika fail JSON bersaiz besar, kami perlu mengendalikannya dengan betul untuk mengelakkan timbunan ralat memori dan penggunaan sumber yang banyak.
GSON ialah salah satu pustaka terbaik yang tersedia di Java untuk memproses fail JSON.
Ia menyediakan contoh selamat benang untuk menggunakan semula objek yang sama untuk memproses berbilang permintaan.
Ia tidak menjangkakan sebarang anotasi tersedia untuk bersiri dan penyahserikatan melainkan terdapat kes khas.
Ia menyediakan kaedah toJson() dan fromJson() untuk bersiri dan penyahsirilan.
Ia menyediakan sokongan untuk membaca kandungan menggunakan pembaca strim.
Di bawah ialah coretan kod untuk membaca fail menggunakan pembaca aliran java dan menukar kepada objek Java. Saya menggunakan logik perniagaan saya untuk setiap 100 rekod.
Anggapan Fail JSON mempunyai tatasusunan data seperti di bawah.
[
{
"id": 1,
"firstName": "Emily",
"Nama Akhir": "Johnson"
}
]
Kod Java
private Optional<Boolean> readFile(String path) { try (InputStream inputStream = Files.newInputStream(Path.of(path)); JsonReader reader = new JsonReader(new InputStreamReader(inputStream))) { Instant start = Instant.now(); reader.beginArray(); List<User> users = new ArrayList<>(); while (reader.hasNext()) { users.add(gson.fromJson(reader, User.class)); if (users.size() >= 100) { //Initiate your records processing //You can consider processing it async way handling failure scenarios properly users.clear(); } } reader.endArray(); LOGGER.info("Total time taken to process file:{}, Duration:{} (millis)", path, Duration.between(start, Instant.now()).toMillis()); } catch (Exception e) { LOGGER.error("", e); return Optional.of(false); } return Optional.of(true); }
Atas ialah kandungan terperinci Pemprosesan fail JSON yang besar dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!