Rumah > Java > javaTutorial > Pemprosesan fail JSON yang besar dalam Java

Pemprosesan fail JSON yang besar dalam Java

Barbara Streisand
Lepaskan: 2024-10-21 16:11:29
asal
937 orang telah melayarinya

Large JSON file processing in Java

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);
}
Salin selepas log masuk

Atas ialah kandungan terperinci Pemprosesan fail JSON yang besar dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan