1

我有一个 300k 行的 JSON 文件,我试图在 Node 中使用 JSONStream 进行解析。从文档中,当执行以下操作时,我期望文件的前 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 吗?我在这里做错了什么?

4

1 回答 1

2

您必须在 jsonstream obj 上注册事件处理程序:

 var jsonStream = JSONStream.parse('*')
 stream.pipe(jsonStream)
 jsonStream.on('data', function(data) {
  // process data
 })
于 2016-04-26T08:00:33.403 回答