在 javascript/react 中读取大型 json 行文件
Reading large json lines files in javascript / react
我得到一个保存在 jsonlines 中的大文件 (300MB)。表示文件包含数千个 javascript 个对象,以换行符分隔。
不幸的是,我不知道如何处理这样的文件。谁能给我一些关于如何处理此类文件的简短介绍?
不要使用 React/不要在客户端处理它。在Node.JS中,您可以直接读取此类文件(fs.readFileSync(...).split('\n').map((row) => JSON.parse(row))
)。如果它们较大,则逐行使用 reader 和 JSON.parse()
。在 npm 上搜索。
你最好在服务器上处理它。向客户端发送那么多数据肯定会导致客户端出现一些问题。处理此类数据的一种有效方法是使用流。所以你可以在服务器上做这样的事情:
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
我得到一个保存在 jsonlines 中的大文件 (300MB)。表示文件包含数千个 javascript 个对象,以换行符分隔。
不幸的是,我不知道如何处理这样的文件。谁能给我一些关于如何处理此类文件的简短介绍?
不要使用 React/不要在客户端处理它。在Node.JS中,您可以直接读取此类文件(fs.readFileSync(...).split('\n').map((row) => JSON.parse(row))
)。如果它们较大,则逐行使用 reader 和 JSON.parse()
。在 npm 上搜索。
你最好在服务器上处理它。向客户端发送那么多数据肯定会导致客户端出现一些问题。处理此类数据的一种有效方法是使用流。所以你可以在服务器上做这样的事情:
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