如何保存大 Json 数据?

How to Save Large Json Data?

我有一个很大的 ObservableCollection,我想将其作为 Json 文件输出。 我使用了以下代码,但出现错误 out of memory

string json = JsonConvert.SerializeObject(content, Formatting.Indented);
await File.WriteAllTextAsync("file.json");

如何将这个巨大的 ObservableCollection 保存在 json 文件中?

与其序列化为字符串,然后将字符串写入流,不如直接流式传输:

using var stream = File.Create("file.json");
JsonSerializer.Serialize(stream, content, new JsonSerializerOptions
{
    WriteIdented = true 
});

尝试直接序列化为 Newtonsoft https://www.newtonsoft.com/json/help/html/serializewithjsonserializertofile.htm 推荐的 file.This 方式

using (StreamWriter file = File.CreateText(@"c:\file.json"))
    {
        JsonSerializer serializer = new JsonSerializer();
        serializer.Serialize(file, content);
    }