在javascript / react中读取大型json行文件

时间:2018-06-11 14:12:05

标签: javascript json reactjs jsonlines

我有一个保存在jsonlines中的大文件(300MB)。意味着该文件包含数千个javascript对象,以换行符分隔。

不幸的是,我不知道如何使用这样的文件。谁能给我一些关于如何处理这些文件的简短介绍?

2 个答案:

答案 0 :(得分:3)

请勿使用React / don在客户端处理它。在Node.JS中,您可以直接读取此类文件(fs.readFileSync(...).split('\n').map((row) => JSON.parse(row)))。如果它们更大,请使用逐行阅读器和JSON.parse()。在npm搜索。

答案 1 :(得分:1)

最好在服务器上处理它。将大量数据发送到客户端肯定会导致客户端出现一些小问题。处理此类数据的有效方法是使用流。所以你可以在服务器上做这样的事情:

const fs = require('fs');
const http = require('http');
const server = http.createServer((req,res) => {
    const readStream = fs.createReadStream('yourLargeFile.txt'); // create read stream
    readStream.pipe(res); // pass data to client as a writeable stream
}
server.listen(PORT, IP);

在此处阅读更多内容:Node stream documentation