原来的代码:
一般大小的可以输出导出json文件,但是遇到过大的对象导致jsonStr字符串特别大就会出现上述问题。
//json为一个对象
string jsonStr=JsonConvert.SerializeObject(json).ToString();
//保存文件
System.IO.File.WriteAllText(string.Format("{0}\\{1}.json", dir, "test.json"), jsonStr);
改进后的代码:
JsonSerializer serializer = new JsonSerializer();
//savePath为保存路径
System.IO.StreamWriter sw = new System.IO.StreamWriter(savePath, true);
//json为一个对象
serializer.Serialize(new JsonTextWriter(sw), json);
//清理当前编写器的所有缓冲区,使所有缓冲数据写入基础设备
sw.Flush();
//关闭当前的 StringWriter 和基础流
sw.Close();