朋友, 我在运行此代码时遇到问题
节点js(cmd)
var addnote = (title, body) => {
var notes = [];
var note = {
title,
body
};
var notestring = fs.readFileSync('notes-data.json');
notes = JSON.parse(notestring);
notes.push(note);
fs.writeFileSync('notes-data.json', JSON.stringify(notes));
}
任何人都可以帮助我吗?
答案 0 :(得分:0)
首先将笔记定义为数组
var notes = [];
然后用
覆盖这个变量notes = JSON.parse(notestring);
JSON.parse会将注释设置为等于对象而不是数组。因此它没有推送方法。如果您尝试在&notes; data.json'中使用数组。文件你可以这样访问它:
notes = JSON.parse(notestring).nameOfMyArray;
编辑:
作为一个很酷的提示,你可以重写
var notestring = fs.readFileSync('notes-data.json');
notes = JSON.parse(notestring);
作为
var notesData = require('notes-data.json');
require方法会为你解析json。
答案 1 :(得分:0)
如果notes-data.json
是一个对象而不是数组,则无法推送到对象。