Penghuraian Fail JSON Besar yang Cekap
Apabila berhadapan dengan tugas menghuraikan fail JSON yang besar, seperti fail auction.json yang disediakan ( 80k baris), memilih pendekatan optimum boleh memberi kesan ketara kepada prestasi dan kecekapan. Artikel ini meneroka beberapa strategi dan mengesyorkan pendekatan yang paling sesuai berdasarkan ciri-ciri data dan sumber yang tersedia.
Pendekatan Tidak Sah
Pendekatan Disyorkan: Jackson API dengan Penstriman dan Model Pokok Menghuraikan
API Jackson menawarkan penyelesaian yang berkuasa untuk menghuraikan fail JSON yang besar dengan cekap. Ia membolehkan anda menggunakan gabungan penstriman dan teknik penghuraian model pokok. Pendekatan hibrid ini memberikan fleksibiliti untuk memproses fail sebagai strim, memakannya secara berurutan, sambil serentak mewakili objek individu sebagai struktur pokok hierarki.
Contoh API Jackson
Coretan kod berikut menunjukkan cara menggunakan API Jackson untuk menghuraikan fail JSON dalam penstriman fesyen:
JsonFactory f = new MappingJsonFactory(); JsonParser jp = f.createJsonParser(new File(args[0])); JsonToken current; current = jp.nextToken(); while (jp.nextToken() != JsonToken.END_OBJECT) { String fieldName = jp.getCurrentName(); current = jp.nextToken(); if (fieldName.equals("records")) { if (current == JsonToken.START_ARRAY) { while (jp.nextToken() != JsonToken.END_ARRAY) { JsonNode node = jp.readValueAsTree(); System.out.println("field1: " + node.get("field1").getValueAsText()); System.out.println("field2: " + node.get("field2").getValueAsText()); } } else { jp.skipChildren(); } } else { jp.skipChildren(); } }
Kelebihan Pendekatan Jackson API:
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Fail JSON Besar dengan Cekap Menggunakan API Jackson?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!