Penstriman Json.NET untuk fail JSON yang besar
Menghuraikan fail JSON yang besar boleh menjadi mencabar kerana had memori. Json.NET menyediakan cara untuk menstrim fail ini, membaca dan memproses data secara berperingkat.
Penstriman objek demi objek
Apabila berurusan dengan fail JSON yang mengandungi satu siri objek yang sama, yang terbaik adalah untuk menghuraikan dan memproses satu objek pada satu masa. Untuk melakukan ini, elakkan deserialisasi ke dalam senarai C#. Anda boleh menggunakan kod berikut:
<code class="language-csharp">JsonSerializer serializer = new JsonSerializer(); MyObject o; using (FileStream s = File.Open("bigfile.json", FileMode.Open)) using (StreamReader sr = new StreamReader(s)) using (JsonReader reader = new JsonTextReader(sr)) { while (reader.Read()) { if (reader.TokenType == JsonToken.StartObject) { o = serializer.Deserialize<MyObject>(reader); // 处理对象 o } } }</code>
Kod ini memudahkan penghuraian objek dengan hanya menyahsiri apabila teg permulaan objek {
ditemui.
Mengendalikan objek dan senarai bersarang
Seperti yang dinyatakan dalam soalan, objek JSON mengandungi objek dan senarai bersarang. Penghuraian "objek didahulukan" Json.NET melangkau elemen ini, jadi anda perlu menyahsirinya secara manual jika perlu. Untuk melakukan ini, ulangi setiap sifat objek dan proses data bersarang seperti yang diperlukan.
Atas ialah kandungan terperinci Bagaimanakah Json.NET Menstrim dan Menghuraikan Fail JSON Besar Dengan Cekap, Mengendalikan Objek Bersarang dan Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!