c# - Newtonsoft.Json 内存不足异常
问题描述
我面临一个奇怪的问题。过去我在反序列化巨大的 JSON 文件时没有遇到任何问题,但现在我有以下代码:
private JObject ReadJsonFile(string pathToFile)
{
JObject jsonObject = null;
try
{
using (FileStream s =new FileStream(pathToFile, FileMode.Open, FileAccess.Read))
using (StreamReader sr = new StreamReader(s))
using (JsonReader reader = new JsonTextReader(sr))
{
JsonSerializer serializer = new JsonSerializer();
jsonObject = serializer.Deserialize<JObject>(reader);
}
}
catch (Exception exc)
{
_log.Error($"Error during reading file {exc}");
}
return jsonObject;
}
jsonObject = serializer.Deserialize<JObject>(reader);
尽管 JSON 文件大约 20 MB,但在运行时行中时不时 会抛出内存不足,这很奇怪。有没有人有类似的问题?
该文件有很多列;当我在 Notepad++ 中打开它时,它在一行中显示 8 099 893 个字符。也许有这样的情况?
解决方案
推荐阅读
- postgresql - psql shell中用户名-#和用户名=#的区别?
- r - 在 ggplot 图中对点进行分组
- c# - 在另一个控制器中使用当前的 UserManager
- angular - Angular return httpclient response that object with sub object [object object]
- typescript - 如何使用 TypeScript Playground 导入库
- python - 如何使用 convert_coreml 转换自定义管道(分类 get_dummies)?
- r - R DT & blogdown - 创建表导致“路径太长”
- python - 为什么推文总是被识别为字节,而不是字符串?
- c++ - 具有 unique_ptr 的结构向量
- python-3.x - 有没有一种计算上更有效的方法来将数千个列表与边界值进行比较?Python