Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menghuraikan Fail JSON Berbilang Susunan Besar dengan Cekap dalam .NET?

Bagaimanakah Saya Boleh Menghuraikan Fail JSON Berbilang Susunan Besar dengan Cekap dalam .NET?

Patricia Arquette
Lepaskan: 2025-01-05 21:23:43
asal
1006 orang telah melayarinya

How Can I Efficiently Parse Large, Multi-Array JSON Files in .NET?

Menghuraikan Fail JSON Berbilang Susun Besar dalam .NET

Menghuraikan fail JSON yang besar boleh menjadi cabaran dalam .NET, terutamanya jika struktur JSON bukan standard . Satu isu biasa yang dihadapi apabila menggunakan kaedah JsonConvert.Deserialize ialah ia boleh membuang pengecualian untuk fail besar.

Isu ini biasanya berlaku apabila fail JSON mengandungi tatasusunan diikuti oleh tatasusunan lain tanpa pembatas. Format ini tidak sah dalam JSON, menyebabkan JsonConvert.Deserialize gagal.

Untuk menyelesaikan isu ini, Json.NET menyediakan kelas JsonTextReader, yang membenarkan penghuraian kandungan JSON yang lebih fleksibel. Dengan menetapkan bendera SupportMultipleContent kepada benar dalam JsonTextReader, kami boleh menghuraikan berbilang tatasusunan daripada satu fail JSON sebagai objek berasingan.

Berikut ialah contoh kod dikemas kini yang 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);
        }
    }
}
Salin selepas log masuk

Pendekatan ini membolehkan kami menghuraikan fail JSON bukan standard dengan cara yang cekap memori, tanpa mengira bilangan tatasusunan atau item dalam setiap tatasusunan. Sampel JSON yang disediakan dalam soalan boleh berjaya diproses menggunakan teknik ini.

Untuk demonstrasi penuh, rujuk pautan berikut: https://dotnetfiddle.net/2TQa8p

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghuraikan Fail JSON Berbilang Susunan Besar dengan Cekap dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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