使用600 MB及以上的大型JSON文件处理Node js的有效方法是什么?
我的伴侣从他的REST API中获取了我所需的大JSON文件。 600mb,1000mb
其结构如下
{nameid1:[列表ID,....],nameid2:[列表ID,....],}
[list id,....]-具有ID的数组最多可以包含数亿条记录。
现在要使用此类文件,我将按照以下顺序进行操作。
我将其保存到硬盘中
使用sed命令,从单行文件将其设置为多行
示例
exec(`sed -i's /','/','\ n / g'file.json)
我尝试使用JSONStream,但这会导致致命错误:CALL_AND_RETRY_LAST分配失败-JavaScript堆内存不足
function getStream() {
let jsonData = __dirname + '/jsonlarge/file.json',
stream = fs.createReadStream(jsonData, {
encoding: 'utf8'
})
parser = JSONStream.parse('*');
stream.pipe(parser)
parser.on('data', (data) => {
console.log('received:', data);
});
}
示例结构json文件
{"Work":"12122001","name":"Regist","world":[{"name":"000000","point":"rfg","Content":["3202b9a3fba","121323","2343454","45345543","354534534"]}, {"name":"000000","point":"rfg","Content":["3202b","121323","2343454","45345543","354534534"]}, {"name":"000000","point":"rfg","Content":["320","121323","2343454","45345543","354534534"]}]}
也许有人知道使用此类文件的更快方法。
谢谢