處理大文件時,建議使用流式JSON序列化來減少內存消耗。可以使用Json.NET庫中的JsonTextWriter和JsonSerializer來實現流式JSON序列化。以下是一個示例代碼:
using Newtonsoft.Json;
using System.IO;
public void SerializeLargeJson(string filePath, object data)
{
using (StreamWriter file = File.CreateText(filePath))
{
using (JsonWriter writer = new JsonTextWriter(file))
{
JsonSerializer serializer = new JsonSerializer();
serializer.Serialize(writer, data);
}
}
}
在這個示例中,我們使用StreamWriter創建一個文件流,并使用JsonTextWriter來寫入JSON數據。然后使用JsonSerializer將數據序列化到文件中。這樣可以在序列化過程中逐步寫入數據,避免將整個JSON數據存儲在內存中。