ディスクに書き込めるように、1 GB オブジェクトを json.stringify しようとしています。私は得るFATAL ERROR: JS Allocation failed - process out of memory
文字列化を成功させるにはどうすればよいですか?
手動で少しずつ文字列化できます。y
が のキーであるx
場合、JSON.stringify(y) + ":" + JSON.stringify(x[y])
1 つのセグメントが得られます。
を使用するfs.appendFileSync
と、たとえば次のように使用できます。
var output = "out.json";
fs.writeFileSync(output, "{");
var first = true;
for(var y in x) {
if(x.hasOwnProperty(y)) {
if(first) first = false;
else fs.appendFileSync(output, ",");
fs.appendFileSync(output, JSON.stringify(y) + ":" + JSON.stringify(x[y]))
}
}
fs.appendFileSync(output, "}");
書き込みストリームを使用することもできます