gpt4 book ai didi

json - 将大型 JSON 文件读入 C#.net 中的变量

转载 作者:行者123 更新时间:2023-12-04 15:54:48 45 4
gpt4 key购买 nike

我正在尝试解析 JSON 文件并插入到 SQL DB 中。只要文件很小(小于 5 MB),我的解析器就可以正常工作。

尝试读取大(> 5MB)文件时出现“内存不足异常”。

if (System.IO.Directory.Exists(jsonFilePath))
{
string[] files = System.IO.Directory.GetFiles(jsonFilePath);
foreach (string s in files)
{
var jsonString = File.ReadAllText(s);
fileName = System.IO.Path.GetFileName(s);
ParseJSON(jsonString, fileName);

}
}

我尝试了 JSONReader 方法,但没有成功将整个 JSON 转换为字符串或变量。请指教。

最佳答案

使用 64 位,检查 RredCat 对类似问题的回答:

Newtonsoft.Json - Out of memory exception while deserializing big object

NewtonSoft Jason Performance Tips

阅读 David Cox 关于标记化的文章:

“基本方法是使用 JsonTextReader 对象,它是 Json.NET 库的一部分。JsonTextReader 一次读取一个 JSON 文件。因此,它避免了将整个文件读入字符串的开销。如从文件中读取 token ,创建对象并将其压入和压出堆栈。当到达文件末尾时,堆栈的顶部包含一个对象 - 与这些对象对应的非常大的对象树的顶部在原始 JSON 文件中”

Parsing Big Records with Json.NET

关于json - 将大型 JSON 文件读入 C#.net 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38577622/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com