在C#中,利用第三方函式庫可以簡化JSON檔案的讀取與解析過程。建議使用Json.NET函式庫。
使用JsonTextReader
類別可以將JSON檔案讀取到陣列中。但是,對於大型文件,這種方法可能會因為記憶體消耗而遇到問題。
更好的方法是使用Json.NET中的JsonConvert
類別:
<code class="language-csharp">using Newtonsoft.Json; 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字串反序列化為Item
物件的列表。然後可以根據需要存取各個值。
例如,要提取特定值而無需建立自訂類,可以使用以下方法:
<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中文網其他相關文章!