【基础篇】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,"","	"); 

重新执行app.js,可以发现,写入的json已经是我们期待的样子。

【因为此处并未做数据校验,因此执行了2次,插入了两条相同的数据。这个小坑之后再填】

【基础篇】

js对本地文件增删改查--增

js对本地文件增删改查--删

js对本地文件增删改查--改

js对本地文件增删改查--查

【参考资料】

前人栽树后人乘凉,敬编程界的先行者!

原文地址:https://www.cnblogs.com/blogNGNL/p/14103863.html