0

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

FATAL ERROR: JS Allocation Failed - process out of memory

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

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

4

1 回答 1

0

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

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

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

于 2014-01-11T04:00:41.547 回答