我有一个对象数组:
var people = {姓名:'列表1',模式:0,好友:[{用户:1,代码:'红色'},{用户:2,代码:'蓝色'}]};
我想把它写入一个文件,这样如果节点服务器崩溃,我就不会丢失数据。
//define variables from file
var file = "../../people.txt";
var open = fs.readFileSync(file);
va data = open.toString();
var name = data.name;
var mode = data.mode;
var friends = data.friends;
每当一个变量改变时,我就把它保存到这样一个文件中:
function update() {
//dosomething
name = 'new list';
mode = 1;
friends = [{user:4,code:'red'},{user:6,code:'blue'}]
fs.writeFileSync(file,`{name:'${name}',mode:${mode},friends:${friends}'}`,{encoding:'utf8',flag:'w'});
}
这将输出到文件中
{name:'list 1',mode:0,friends:[object, object]}
而且数据根本无法读取。我在这里应该做什么?
- 谢谢-谢谢
1条答案
按热度按时间c9qzyr3d1#
在将JSON数据写入文件之前,应使用
JSON.stringify()
将其转换为字符串格式,在阅读它们时,应使用JSON.parse()
将字符串解析为JSON更多详细信息请参见here和how to read/write JSON files