关闭脚本时,fs.writeFile()会写入[object,object]而不是实际对象

bra*_*ant 7 object filewriter fs node.js

我的脚本需要从JSON文件读取和写入.这没有问题.我在本地复制文件,编辑对象,然后将它们写回文件.但是,当我使用Ctrl + C关闭脚本并检查我的文件时,它[object, object]不是应该存在的实际对象.这不是每次都发生,但是很烦人,因为我的脚本依赖于这个文件.

有关如何防止这种错误关闭读者的任何想法?我在写作之前已经尝试检查类型,但它似乎没有多大帮助.

function writeConfig(obj) {
    fs.writeFile('./config.json', obj, function (err) {
        if (err) console.log(err);
    });
}
Run Code Online (Sandbox Code Playgroud)

Ric*_*evi 13

我相信你应该转换obj为JSON字符串,否则它是一个真正的JSON对象,不能简单地写入文件

JSON.stringify(obj)

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify