我有一个大型 javascript 对象,我想将其转换为 JSON 并写入文件。我以为我可以使用这样的流来做到这一点
var fs = require('fs');
var JSONStream = require('JSONStream');
var st = JSONStream.stringifyObject()
.pipe(fs.createWriteStream('./output_file.js'))
st.write(large_object);
当我尝试这个时,我得到一个错误:
stream.js:94
throw er; // Unhandled stream error in pipe.
^
TypeError: Invalid non-string/buffer chunk
at validChunk (_stream_writable.js:153:14)
at WriteStream.Writable.write (_stream_writable.js:182:12)
所以显然我不能只写一个对象 this stringifyObject
。我不确定下一步是什么。我需要将对象转换为缓冲区吗?通过一些转换流运行对象并将其通过管道传输到strinigfyObject