2016-07-05 6 views
-1

私はファイルから以下のデータを読んでいます.jsonオブジェクトを作成したいのですが、nodejs fsモジュールを使ってどのように作成できますか?ここでNodejs fs module:読み込み方法jsonオブジェクトを作成して作成しますか?

app.js

var path = "./ditLogs/" + file; 
       fs.readFile(path, function(err, data) { 
        console.log('reading file data', data.toString()); 
       }); 

私は

{"event":"test data"} 
{"event":"test data"} 
{"event":"test data"} 
+1

' .split( "の\ n")マップ(A => JSON.parse(A))を実装しますか? – dandavis

答えて

-1

FILE.TXT

のためのJSONを作成する必要があり、ファイル内のデータは、単にライン・バイ・ラインパッケージを使用して読んでより少ないコードで、読み込みプロセス(読み込みを再開、読み込みを再開、ファイル記述子をオンデマンドで閉じる、N行をスキップすることができます)の制御を強化します。

1)をインストール:。

npm i --save line-by-line 
npm i --save lodash 

2) `

var lineByLine = require('line-by-line'), 
    _ = require('lodash'), 
    path = require('path'); 


var lines = []; 
var filePath = path.join(__dirname, "ditLogs", file); 
var fileReader = new lineByLine(filePath); 

fileReader.on('line', function(line) { 
    line = JSON.parse(line); 
    if(_.isPlainObject(line) && !_.isEmpty(line)) { 
    lines.push(line); 
    } 

    // optional 
    doSomethingWithLine(line); 
}); 

function doSomethingWithLine(line) { 
    // for example You can save to db or send to somewhere using request libary or just show in console 
} 

fileReader.on('error', function(error) { 
    console.error(error); 
    process.exit(-1); 
}); 

fileReader.on('end', function() { 
    doSomethingAfterParsingAllLines(lines); 
}); 

function doSomethingAfterParsingAllLines(records) { 
    // do something with data 
} 
+0

何人かの賢明な人が理由を言わずに私の答えをdownvoted。公平ではない! (: – num8er

関連する問題