我有一个
object = { line1: 123, line2: 456 };
我想将其写入文本文件。
打开文本文件时,输出将如下所示。
123
456
我已经尝试过,但行不通
var json_data = require(`${__dirname}/output.json`);
var objectlength = Object.keys(json_data).length;
for ( var i = 0; i < objectlength; i++ ){
console.log ( i );
var write_to_txt = fs.writeFileSync(`${__dirname}/output.txt`,
json_data.line+i, null, '\t');
}
最佳答案
一种方法是使用流来实现此目的:
var stream = fs.createWriteStream(`${__dirname}/output.txt`, {flags:'a'});
Object.keys(json_data).map( function (item,index) {
stream.write(json_data[key]+ "\n");
});
stream.end();
考虑一下这里为什么在连续写入同一文件时应该更喜欢流。 https://stackoverflow.com/a/43370201/6517383
或者您可以使用 fs.appendFileSync
代替,如下所示:
Object.keys(json_data).map(key => {
fs.appendFileSync(`${__dirname}/output.txt`, json_data[key]+ "\n", function (err) {
if (err) throw err;
console.log('Saved!');
});
});
关于javascript - 如何将对象中的每个值写入文本文件中的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57439375/