添加到JSON的新数据不断替换以前的数据

时间:2019-01-27 10:02:40

标签: node.js json

我的代码似乎“ notes = JSON.parse(fs.readFileSync(“ notes-data.json”))“行无法正常工作...

当我添加新注释时,应将其添加到.json文件中的数组中,但它将替换之前的注释。

let addNote = (title, body) => {
  let notes = [];
  let note = {
    title,
    body
  };
  notes.push(note);
  fs.writeFileSync("notes-data.json", JSON.stringify(notes));
  notes = JSON.parse(fs.readFileSync("notes-data.json"))
};

代码截图: enter image description here

提前谢谢

1 个答案:

答案 0 :(得分:3)

如果要添加文件内容,则应该在执行其他任何操作之前先阅读内容:

let addNote = (title, body) => {
  let notes;
  try {
      notes = JSON.parse(fs.readFileSync("notes-data.json")); // <---
  } catch(e) {
      notes = [];
  }
  let note = {
    title,
    body
  };
  notes.push(note);
  fs.writeFileSync("notes-data.json", JSON.stringify(notes));
};