以json格式从数据库获取数据时出错,并使用asp.net c#在Web服务器上创建json文件。我必须创建大约400,000条SQL Server记录的json文件。
错误显示在行中:
string jsondata = new JavaScriptSerializer().Serialize(stockdet);
数据库表中有大约400,000条记录
mscorlib.dll中发生了'System.OutOfMemoryException'类型的异常,但未在用户代码中处理
答案 0 :(得分:1)
这意味着你的内存不足以处理这个巨大的对象,因为你试图序列化40万条记录,所以我建议你采用这种方法
转到nuget包并添加newtonsoft.json
添加以下参考资料
using Newtonsoft.Json;
using System.IO;
放置以下代码
//replace {path} with your path
using (StreamWriter sw = new StreamWriter(@"{path}\temp.json"))
using (JsonWriter writer = new JsonTextWriter(sw))
{
new JsonSerializer().Serialize(writer, stockdet);
}
从位于{path}