首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js分配失败-即使使用JSONStream解析器,也会处理内存不足

Node.js分配失败-即使使用JSONStream解析器,也会处理内存不足
EN

Stack Overflow用户
提问于 2014-11-04 22:19:28
回答 1查看 417关注 0票数 1

我正在尝试读取和解析node中的大约12个大型(从100mb+到500mb+) JSON文件。我尝试使用JSONStream (许多人建议将其作为此问题的解决方案),以防止出现以下错误:

代码语言:javascript
复制
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory

然而,我仍然得到这个错误。这是我第一次尝试使用这样的流式文件阅读器,所以我不确定问题出在哪里。现在,我拥有的代码是:

代码语言:javascript
复制
for (var i = 0; i < jsonFileArray.length; i++) {
    if (jsonFileArray[i].match(/\.json$/)) {
        var stream = fs.createReadStream(dirPath + jsonFileArray[i]).pipe(JSONStream.parse(['records', true, 'Categories']));

      stream.on('data', function(data) {
          console.log('received:', data);
        });
    }
}

最终,我想用来自这些文件的所有解析数据构建一个累积的结果对象,但是到目前为止,我尝试过的一切都阻止了我能够解析任何和所有的文件。有什么建议吗?指导?

EN

回答 1

Stack Overflow用户

发布于 2014-11-28 14:54:43

您可以尝试使用JSONStream存储库中的"memory-leak“分支。此分支修复内存泄漏,但您不能使用"..“操作符。

Link to the branch

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26737422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档