在Node.js中解析大型JSON文件
我有一个文件,该文件以JSON形式存储许多JavaScript对象,我需要读取该文件,创建每个对象并对其进行处理(以我为例将其插入到db中)。JavaScript对象可以表示为以下格式: 格式A: [{name: 'thing1'}, .... {name: 'thing999999999'}] 或格式B: {name: 'thing1'} // <== My choice. ... {name: 'thing999999999'} 请注意,...表示很多JSON对象。我知道我可以将整个文件读入内存,然后JSON.parse()像这样使用: fs.readFile(filePath, 'utf-8', function (err, fileContents) { if (err) throw err; console.log(JSON.parse(fileContents)); }); 但是,该文件可能确实很大,我希望使用流来完成此操作。我在流中看到的问题是文件内容随时都可能被分解成数据块,那么如何JSON.parse()在此类对象上使用? 理想情况下,每个对象将被读取为一个单独的数据块,但是我不确定如何做到这一点。 var importStream = fs.createReadStream(filePath, {flags: 'r', encoding: 'utf-8'}); importStream.on('data', function(chunk) { var pleaseBeAJSObject = JSON.parse(chunk); // insert pleaseBeAJSObject …