致命错误:JS分配失败 - 处理内存不足

时间:2014-01-10 15:19:11

标签: json node.js jsonlint

我正在尝试在40MB JSON文件上运行jsonlint,但它会以退出状态5停止执行,并显示以下错误消息:

FATAL ERROR: JS Allocation Failed - process out of memory

有谁知道我怎么能把这个JSON漂亮打印出来?我想知道它是否与节点的--max-old-space-size参数有关,但我也不确定如何将它传递给已安装的可执行文件。

如果有另一种方法我可以用人类可读的缩进来呈现这个,我也很感激这些建议。

1 个答案:

答案 0 :(得分:0)

jsonlint基于Jison,这是一个解析器生成器。编写起来很简单,但速度极慢。所以除非你真的需要它的一些功能(比如排序对象键),否则不要使用它。

如果你想要漂亮地打印JSON,可以使用内置的 - JSON.stringify(object, '\t')jju模块 - require('jju').stringify(object, {mode: 'json'})来获得更紧凑但仍然是人类可读的表示。

40MB将导致大约200-300MB的空间,这绝对不是那么大。