我正在上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));
};
最佳答案
这里需要json.parse(),因为fs操作的输出是一个字符串,我们需要将其转换为一个对象才能正确访问它。里面的数据是一个json数组,因此我们可以读取它。在json.parse周围添加try catch,因为如果数据不是json类型,则会导致错误。
关于javascript - Javascript Node.js JSON.parse数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48414495/