你好,
我有這個物件陣列:
var people = {name:'list 1',mode:0,friends:[{user:1,code:'red'},{user:2,code:'blue'}]};
我想將它寫入一個檔案,這樣如果節點服務器崩潰我就不會丟失資料。我這樣做了:
//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]}
并且根本無法讀取資料。我應該在這里做什么?
謝謝你。
uj5u.com熱心網友回復:
JSON.stringify()在將其寫入檔案之前,您應該將 JSON 資料轉換為字串格式,并且在讀出它們時,您應該將字串決議為 JSON 使用JSON.parse()
更多細節在這里以及如何讀/寫 JSON 檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/534370.html
標籤:节点.js
