Nodejsで大きなJSONファイルを解析する
多くのJavaScriptオブジェクトをJSON形式で格納するファイルがあり、ファイルを読み取り、各オブジェクトを作成し、それらを使用して何かを行う必要があります(私の場合は、それらを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 …