我已经定义了一个名为note-data.json的文件,其中包含json数据。在以下代码中,声明了一个称为notes的数组类型变量。我要实现的是程序读取json文件并将其保存在noteString变量中,然后使用noteString中的JSON.parse()创建对象数组并将其放入notes数组。因此,我可以将新对象添加到json文件中。但是,当程序到达note.push()行时,它会抱怨,因为我认为注释的类型已变为字符串,并且未为字符串定义push。我该如何解决这个问题?
请忽略以下事实:如果未提供json文件,程序将崩溃。
我的代码:
const addNote = (title, body) => {
let notes= [];
const note = {
title,
body
};
const notesString = fs.readFileSync('node-data.json', 'utf8');
notes = JSON.parse(notesString);
notes.push(note);
fs.writeFileSync('node-data.json', JSON.stringify(note));
}
文件note-data.json:
{"title":"Greeting","body":"Hello"}
答案 0 :(得分:0)
我认为您在这里摸索变量。据我了解-您想从文件中读取JSON并将该JSON附加到数组,对吗?以下代码将帮助您做到这一点
const addNote = (title, body) => {
let notes= []; //Declare an array
const note = JSON.parse(fs.readFileSync('node-data.json', 'utf8')); //read and parse file contents
notes.push(note); //Append new JSON to your array
//This line below appears to have no purpose ??
fs.writeFileSync('node-data.json', JSON.stringify(note));
}