【问题标题】:new data added to JSON keeps replacing previous添加到 JSON 的新数据不断替换以前的数据
【发布时间】:2019-01-27 19:04:23
【问题描述】:

我的代码中的 "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"))
};

代码截图:

提前致谢

【问题讨论】:

    标签: node.js json


    【解决方案1】:

    如果你想添加文件内容,那么你应该在做任何其他事情之前真正阅读内容:

    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));
    };
    

    【讨论】:

      猜你喜欢
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      • 1970-01-01
      相关资源
      最近更新 更多