我的代码是这样的:
fs.writeFile("file.bin", this, 'binary', function(err){
if(err) console.log(err);
else console.log("file saved");
});
这是一个带有一堆属性的函数。
如果我执行 console.log(this)
,它会显示对象,但是当我保存它时,文件只有这个:
[object Object]
因为我没有得到我想要的答案,我想澄清一下我想要什么。 我希望将我的对象存储为对象而不是 json 文件或 txt 文件。例如,如果我有一个 mp3 流,我希望将该流存储为 mp3 文件而不是 json 文件。有人知道怎么做吗?
最佳答案
来自 Node documentation对于 FileSystem,第二个参数需要是字符串、缓冲区或 UintArray。
要将对象保存到文件,请使用 JSON.stringify(obj)
将对象转换为字符串并调用 fs.writeFile()
API。
这是相同的代码片段:
fs.writeFile("file.bin", JSON.stringify(obj), 'binary', (err)=>{
if(err) console.log(err)
else console.log('File saved')
})
另一种方法是使用缓冲区代替字符串。
var buffer = Buffer.from(JSON.stringify(obj))
fs.writeFile("file.bin", buffer, 'binary', (err)=>{
if(err) console.log(err)
else console.log('File saved')
})
关于node.js - 如何使用nodejs将对象保存在文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43149482/