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中文網其他相關文章!