我正在尝试在40MB JSON文件上运行jsonlint
,但它会以退出状态5
停止执行,并显示以下错误消息:
FATAL ERROR: JS Allocation Failed - process out of memory
有谁知道我怎么能把这个JSON漂亮打印出来?我想知道它是否与节点的--max-old-space-size
参数有关,但我也不确定如何将它传递给已安装的可执行文件。
如果有另一种方法我可以用人类可读的缩进来呈现这个,我也很感激这些建议。
答案 0 :(得分:0)
jsonlint基于Jison,这是一个解析器生成器。编写起来很简单,但速度极慢。所以除非你真的需要它的一些功能(比如排序对象键),否则不要使用它。
如果你想要漂亮地打印JSON,可以使用内置的 - JSON.stringify(object, '\t')
或jju模块 - require('jju').stringify(object, {mode: 'json'})
来获得更紧凑但仍然是人类可读的表示。
40MB将导致大约200-300MB的空间,这绝对不是那么大。