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
Patricia Arquetteasal
2025-01-05 21:23:43985semak imbas

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);
        }
    }
}

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:
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