Javascript nodejs JSON.parse数组

时间:2018-01-24 03:43:46

标签: javascript json node.js

我正在接受关于udemy的课程,当我假设它是一个对象时,我真的很困惑notes = JSON.parse(notesString)是一个数组(对吧?),因为JSON.parse使它成为一个对象。

var addNote = (title, body) => {
  var notes = []; // Create empty array
  var note = { // Fetch user input
    title,
    body
  };
  try {
    var notesString = fs.readFileSync("notes-data.json"); //  Get current notes
    notes = JSON.parse(notesString); // convert current notes into object
    console.log("try:", notes.constructor)
  }catch(e){

  }
  console.log(notes)
  notes.push(note);
  fs.writeFileSync("notes-data.json", JSON.stringify(notes));
};

3 个答案:

答案 0 :(得分:3)

那里需要JSON.parse(),因为fs操作的输出是一个字符串,我们需要将其转换为一个对象才能正确访问它。其中的数据是一个JSON数组,因此我们可以读取它。在JSON.parse周围添加try catch,因为如果数据不是JSON类型,那么它将导致错误。

答案 1 :(得分:1)

如果文件 notes-data.json 中的JSON包含JSON数组,即某些内容如

[{"one":1}, {"two":2}]

您将从 JSON.parse 方法获取数组。

答案 2 :(得分:0)

如果文件notes-data.json中的JSON包含JSON数组,即某些内容,如

{{1}}