首頁 > 後端開發 > C++ > 如何在 .NET 中高效解析大型多數組 JSON 檔案?

如何在 .NET 中高效解析大型多數組 JSON 檔案?

Patricia Arquette
發布: 2025-01-05 21:23:43
原創
983 人瀏覽過

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

在.NET 中解析大型多數組JSON 檔案

在.NET 中解析大型JSON 檔案可能是一個挑戰,特別是在JSON 結構非標準的情況下。使用 JsonConvert.Deserialize 方法時遇到的常見問題是它可能會引發大檔案異常。

當 JSON 檔案包含一個陣列後面跟著另一個沒有分隔符號的陣列時,通常會出現此問題。這種格式在 JSON 無效,導致 JsonConvert.Deserialize 失敗。

為了解決這個問題,Json.NET 提供了 JsonTextReader 類,它可以更靈活地解析 JSON 內容。透過在 JsonTextReader 中將 SupportMultipleContent 標誌設為 true,我們可以將單一 JSON 檔案中的多個陣列解析為單獨的物件。

以下是演示此技術的更新程式碼範例:

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);
        }
    }
}
登入後複製

此方法允許我們以節省記憶體的方式解析非標準JSON 文件,而不管數組或每個數組中的項目數。使用此技術可以成功處理問題中提供的範例 JSON。

完整演示,請參閱以下連結:https://dotnetfiddle.net/2TQa8p

以上是如何在 .NET 中高效解析大型多數組 JSON 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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