2016-12-04 8 views
0

このコードをベースにしていますので、 "world_data.csv"のコンテンツをJSONに変換する必要があります。Node.js:CSVをJSONに変換して変数に保存する

変数にJSONを保存する方法についての手がかりがありません。私は、私が望むデータは "jsonArray"に一時的に格納されていると思いますが、そのデータを無期限に格納するグローバル変数をどのように定義できますか?

var express = require('express'); 
var app = express(); 
var sys = require('util'); 
var path = require('path'); 
var bodyParser = require('body-parser'); 
var Converter = require("csvtojson").Converter; 
app.use(bodyParser.json()); 
app.use(express.static(path.join(__dirname, "public"))); 

var converter = new Converter({}); 

converter.on("end_parsed", function (jsonArray) { 
    console.log(jsonArray); 
}); 

require("fs").createReadStream("world_data.csv").pipe(converter); 

var server = app.listen(3000, function() { 
    var host = server.address().address; 
    var port = server.address().port; 
    console.log('Example app listening at http://%s:%s', host, port); 
}); 

答えて

0

単純にグローバル変数が必要です。 pleseは、例えば、ビューに渡すために、あなたが解析された結果で何をしたい依存Javascript Closures

var express = require('express'); 
var app = express(); 
var sys = require('util'); 
var path = require('path'); 
var bodyParser = require('body-parser'); 
var Converter = require("csvtojson").Converter; 
var jsonContent = {}; // <-- Your Global JSON Data 
app.use(bodyParser.json()); 
app.use(express.static(path.join(__dirname, "public"))); 

var converter = new Converter({}); 

converter.on("end_parsed", function(jsonArray) { 

    if (jsonArray) { 

     jsonContent = jsonArray 

    } 

}); 

require("fs").createReadStream("world_data.csv").pipe(converter); 

var server = app.listen(3000, function() { 

    var host = server.address().address; 
    var port = server.address().port; 
    console.log('Example app listening at http://%s:%s', host, port); 

}); 
+0

は、私は:) – dun

0

をお読みください。

app.get('/', function(req, res) { 
    require("fs").createReadStream("./world_data.csv").pipe(converter); 
    converter.on("end_parsed", function (json) { 
     res.json(json) 
    }); 
}); 

あなたがプロセスを解析する上で必要なものは何でも呼び出すことができるAPIやフックを提供csvtojsonとして終わり。

それともそれはとして実装することができonelinerあなたが使用することができます。

app.get('/', function(req, res) { 
    require("fs").createReadStream("./world_data.csv").pipe(new Converter({constructResult:false})).pipe(res) 
}) 
+0

検索私はあなたがそこに何をしたか、任意の手掛かりを持っていないこと、ありがとうございました。実際にJSを使用することはほとんどないので、私の事例は本当に分かりません。 – dun

+0

解析された値で何をしたいですか?それをフロントエンドまたは他の機能に渡しますか?現在のバージョンでは、 'http:// localhost:[port] /' –

関連する問題