0
JSONStreamを使用してNodeで解析しようとしている300k行のJSONファイルがあります。NodeJS JSONStreamは1つの長い文字列としてデータを返します
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++;
});
:以下を実行する際のドキュメントから、私は、しかし、私は、各行の間
\n
文字で、文字列として文書全体を取得し、コンソールに出力されるファイルの最初の10行を期待してい
JSONStream.parse("*")
しないでください... JSONを解析していますか?私はここで間違って何をしていますか?
を?おそらく、あなたは "parse"関数のサブオブジェクトをアドレス指定する必要があります(そして、ルートには触れません) – lipp
これはJSONとして構造化されています。 '[{'key.one': 'value' ...}、... {'key.one': 'value' ...}]'。各オブジェクトは新しい行にあります。 – Jascination
子演算子 '[]'を使用して各単一の配列項目(goessner.net/articles/JsonPath)を取得する必要があります。 '*'はおそらくあなたにルートオブジェクト/配列を与えます。 – lipp