
正文
【基础篇】js对本地文件增删改查--增
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
前置条件:
1. 本地有安装node,点击传送门
项目目录:

1. msg.json内容
{
"data": [
{
"id": 1,
"name": "aa"
},
{
"id": 2,
"name": "bb"
},
{
"id": 3,
"name": "cc"
},
{
"id": 4,
"name": "dd"
}
],
"total": 4
}
2. add.js
// 若找不到该模块,则用npm i fs命令安装一下即可
var fs = require('fs');var params = {
"id":5,
"name":"ee"
}
//写入json文件选项
function addData(params){
//现将json文件读出来
fs.readFile('data/msg.json',function(err,data){
if(err){
return console.error(err);
}
var msg = data.toString();//将二进制的数据转换为字符串
msg = JSON.parse(msg);//将字符串转换为json对象
msg.data.push(params);//将传来的对象push进数组对象中,此处用的模拟数据parms,以后从页面获取数据
msg.total = msg.data.length;//刷新一下总数,以后分页会用上
console.log(msg.data);
var str = JSON.stringify(msg);//因为nodejs的写入文件只认识字符串或者二进制数,因此进行必要的转换
fs.writeFile('./data/msg.json',str,function(err){
if(err){
console.error(err);
}
console.log('----------新增成功-------------');
})
})
}//执行新增数据方法;
addData(params)
3. 用node执行add.js,效果如下图:


可以发现,数据已插入。但是有个问题,数据变成一行了,这样可读性很差。我们需要在add.js中进行一点修改,如下
//因为nodejs的写入文件只认识字符串或者二进制数,因此进行必要的转换。另外,此种写法可以美化写入的json样式
var str = JSON.stringify(msg,"","\t");
重新执行app.js,可以发现,写入的json已经是我们期待的样子。

【因为此处并未做数据校验,因此执行了2次,插入了两条相同的数据。这个小坑之后再填】
【基础篇】
js对本地文件增删改查--增
js对本地文件增删改查--删
js对本地文件增删改查--改
js对本地文件增删改查--查
【参考资料】
前人栽树后人乘凉,敬编程界的先行者!
https://www.cnblogs.com/eliteboy/p/13272030.html







