运行代码时,JSON 会被覆盖。我想防止这种情况并添加数据。
const fs = require("fs");
exports.getHome = (req,res) => {
res.render('../views/home.ejs',{
ToDoItem:fs.readFileSync('./data.json', 'utf8'),
})
}
exports.postItem = (req,res) => {
//ToDoItemは入力された値
const ToDoItem = req.body.ToDoItem;
fs.writeFileSync("data.json",JSON.stringify(ToDoItem));
res.redirect('/');
}
如果您想防止文件内容被覆盖,请读取文件内容并将其解析为 JSON,将新的 TODO 项目附加到解析的 JSON,然后使用包含旧项目和新项目的新 JSON 编写一个文件。
假设您已将数组存储到 JSON 文件中。
var fs = require('fs')
exports.postItem = (req,res) => {
const ToDoItem = req.body.ToDoItem;
fs.readFile('data.json', function (err, data) {
const existingToDos = JSON.parse(data)
existingToDos.push(ToDoItem)
fs.writeFile("data.json", JSON.stringify(existingToDos))
})
}