私は、BabyParseを使用してローカルCSVファイルをJSONに変換しています。ここではそれをしない私が書いたjs
ファイルがあります:生成されたJSONをファイルに書き込む、BabyParse
var Baby = require('babyparse');
var fs = require('fs');
var file = 'test2.csv';
var content = fs.readFileSync(file, { encoding: 'binary' });
parsed = Baby.parse(content, {fastMode: false});
rows = parsed.data;
console.log(rows);
fs.writeFile("blahblahblah.json", rows, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
console.log(rows)
ラインでコンソールに出力JSONが正しい(っぽい)のようです。しかし、ファイルにrows
を書き込むと、すべてのJSON定型文が表示されなくなります。たとえば、ここでは以下のcsvファイルを変換しようとしたとき、私は何を得るのです。
col1,col2,col3
"val1","val2","val3"
"val1","val2","val3"
"val1","val2","val3"
これは、コンソールに出力する内容である:
[ [ 'col1', 'col2', 'col3' ],
[ 'val1', 'val2', 'val3' ],
[ 'val1', 'val2', 'val3' ],
[ 'val1', 'val2', 'val3' ],
[ '' ] ]
しかし、これは、ファイルに書き込まれますものです:
col1,col2,col3,val1,val2,val3,val1,val2,val3,val1,val2,val3,
ここで何が起こっているのか分かりますか? JSON固有の構文が取り除かれるのはなぜですか?