Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menghuraikan Fail JSON yang Besar dan Cacat dengan Cekap dalam .NET Menggunakan Json.NET?
Menghuraikan Fail JSON Besar dan Cacat dalam .NET Menggunakan Json.NET
Menghuraikan fail JSON yang besar boleh mencabar dalam .NET, terutamanya jika JSON rosak. Dalam artikel ini, kami akan meneroka cabaran yang dihadapi semasa menghuraikan fail JSON yang sangat besar dan menyediakan penyelesaian menggunakan Json.NET.
Isu: Struktur Array Bersarang
Satu Isu biasa dengan fail JSON yang besar ialah struktur kompleksnya. Dalam kes anda, fail JSON mengandungi tatasusunan objek, tetapi setiap tatasusunan disertakan dalam kurungan yang ditutup dan dibuka serta-merta. Ini menjadikan JSON secara teknikal tidak sah apabila diambil secara keseluruhan.
Menggunakan JsonTextReader dengan SupportMultipleContent
Untuk mengendalikan format JSON yang salah bentuk ini, Json.NET menawarkan tetapan khas dalam Kelas JsonTextReader. Dengan menetapkan bendera SupportMultipleContent kepada benar, kami boleh menghuraikan setiap item secara individu dalam satu gelung.
Pendekatan ini membolehkan pemprosesan JSON bukan standard yang cekap memori, tanpa mengira saiznya atau bilangan tatasusunan bersarang. Kod di bawah menunjukkan teknik ini:
using (WebClient client = new WebClient()) using (Stream stream = client.OpenRead(stringUrl)) using (StreamReader streamReader = new StreamReader(stream)) using (JsonTextReader reader = new JsonTextReader(streamReader)) { reader.SupportMultipleContent = true; var serializer = new JsonSerializer(); while (reader.Read()) { if (reader.TokenType == JsonToken.StartObject) { Contact c = serializer.Deserialize<Contact>(reader); Console.WriteLine(c.FirstName + " " + c.LastName); } } }
Dalam contoh ini, JSONTextReader mula-mula menyemak jenis token. Jika ia menemui token permulaan objek, ia menyahsiri objek semasa menjadi contoh Kenalan menggunakan JsonSerializer. Nama pertama dan nama keluarga setiap kenalan kemudian dicetak ke konsol.
Kesimpulan
Dengan menggunakan tetapan SupportMultipleContent dalam JsonTextReader, anda boleh menghuraikan fail JSON yang besar dan cacat dengan berkesan dalam .BERSIH. Teknik ini membolehkan penggunaan memori yang cekap dan mengendalikan struktur JSON yang kompleks, menjadikannya Ideal untuk memproses strim data JSON.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghuraikan Fail JSON yang Besar dan Cacat dengan Cekap dalam .NET Menggunakan Json.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!