首頁 > 後端開發 > C++ > 如何在C#中高效讀取和解析大型JSON檔?

如何在C#中高效讀取和解析大型JSON檔?

Mary-Kate Olsen
發布: 2025-01-11 10:26:44
原創
940 人瀏覽過

How Can I Efficiently Read and Parse Large JSON Files in C#?

C#高效讀取與解析大型JSON檔

處理大型JSON檔案時,高效的讀取和解析至關重要,避免程式崩潰或記憶體溢位。 推薦使用JSON.NET函式庫來最佳化此過程。

使用JSON.NET

JSON.NET 提供了強大的類別和方法來處理C#中的JSON資料。以下是如何使用它將大型JSON檔案讀取並解析為陣列:

<code class="language-csharp">public void LoadJson()
{
    using (StreamReader r = new StreamReader("file.json"))
    {
        string json = r.ReadToEnd();
        List<Item> items = JsonConvert.DeserializeObject<List<Item>>(json);
    }
}

public class Item
{
    public int millis;
    public string stamp;
    public DateTime datetime;
    public string light;
    public float temp;
    public float vcc;
}</code>
登入後複製

透過建立一個與JSON結構相對應的類,您可以輕鬆地將JSON字串反序列化為物件清單。

擷取特定資料

要只提取所需資料(例如「vcc」值),可以在反序列化後存取物件的屬性。例如:

<code class="language-csharp">foreach (var item in items)
{
    Console.WriteLine(item.vcc);
}</code>
登入後複製

動態反序列化

您甚至可以在不建立類別的情況下動態存取JSON資料。使用dynamic關鍵字,可以將JSON字串反序列化為動態物件:

<code class="language-csharp">dynamic array = JsonConvert.DeserializeObject(json);
foreach (var item in array)
{
    Console.WriteLine("{0} {1}", item.temp, item.vcc);
}</code>
登入後複製

此方法允許您使用屬性名稱(字串)來存取JSON屬性。

以上是如何在C#中高效讀取和解析大型JSON檔?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板