我想压缩一个大对象(把它写到一个文件中),然后运行到V8的字符串长度限制中。因此,我想我要么需要找到一种将字符串串成ArrayBuffer的方法,要么我需要以块的形式创建字符串。
https://github.com/dominictarr/JSONStream似乎可以做后者,但我不知道如何使用stringify(),因为只有在文档中解释了.parse()的用法。
发布于 2016-01-10 16:52:06
这里有一种使用JSONStream的方法,但是创建完美的测试对象并不是一件容易的事情,所以尝试一下:
var JSONStream = require('JSONStream');
var es = require('event-stream');
var fs = require('fs');
var obj = {};
for (var i = 0; i < 2000; i++) {
obj['prop' + i] = 'value' + i;
}
var out = fs.createWriteStream(__dirname + '/out.json');
es.readable(function (count, next) {
for (var key in obj) {
this.emit('data', [key, obj[key]]);
}
this.emit('end');
next();
}).pipe(JSONStream.stringifyObject()).pipe(out);https://stackoverflow.com/questions/34707203
复制相似问题