高效解析C#中大型JSON檔:Json.NET方法詳解
在C#中處理大型JSON檔案時,直接將其載入到陣列中可能會遇到效能瓶頸。本文將介紹一種使用Json.NET函式庫的高效解決方案。
Json.NET是C#中流行的JSON解析庫,它提供了一種便捷高效的讀取和解析JSON資料的方法。
以下範例示範如何使用Json.NET將大型JSON檔案載入到List<Item>
中:
<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
字串中,然後使用JsonConvert.DeserializeObject
將其反序列化為List<Item>
。列表中的每個元素都代表一個對象,其屬性與JSON節點對應。
無需建立自訂類,Json.NET也能動態取得JSON資料值。例如下:
<code class="language-csharp">dynamic array = JsonConvert.DeserializeObject(json); foreach (var item in array) { Console.WriteLine("{0} {1}", item.temp, item.vcc); }</code>
這裡,array
變數是一個動態對象,允許存取其屬性而無需類型檢查。如果您不需要將資料儲存在特定物件中,這種方法會更加方便。
以上是Json.NET如何在C#中高效解析大型JSON檔?的詳細內容。更多資訊請關注PHP中文網其他相關文章!