NodeJS JSONStream returns 数据作为一个长字符串
NodeJS JSONStream returns data as one long string
我有一个 300k 行的 JSON 文件,我正尝试使用 JSONStream 在 Node 中对其进行解析。从文档中,执行以下操作时,我希望文件的前 10 行输出到控制台,但是我将整个文档作为字符串获取,每行之间有 \n
个字符:
var fs = require('fs');
var JSONStream = require('JSONStream');
var i = 0;
var stream = fs.createReadStream('test.json', {encoding: 'utf8'})
stream.pipe(JSONStream.parse('*'))
stream.on('data', function(data) {
if(i < 10){
console.log(i, data)
}
i++;
});
JSONStream.parse("*")
不应该...解析 JSON 吗?我在这里做错了什么?
您必须在 jsonstream obj 上注册事件处理程序:
var jsonStream = JSONStream.parse('*')
stream.pipe(jsonStream)
jsonStream.on('data', function(data) {
// process data
})
我有一个 300k 行的 JSON 文件,我正尝试使用 JSONStream 在 Node 中对其进行解析。从文档中,执行以下操作时,我希望文件的前 10 行输出到控制台,但是我将整个文档作为字符串获取,每行之间有 \n
个字符:
var fs = require('fs');
var JSONStream = require('JSONStream');
var i = 0;
var stream = fs.createReadStream('test.json', {encoding: 'utf8'})
stream.pipe(JSONStream.parse('*'))
stream.on('data', function(data) {
if(i < 10){
console.log(i, data)
}
i++;
});
JSONStream.parse("*")
不应该...解析 JSON 吗?我在这里做错了什么?
您必须在 jsonstream obj 上注册事件处理程序:
var jsonStream = JSONStream.parse('*')
stream.pipe(jsonStream)
jsonStream.on('data', function(data) {
// process data
})