【基础篇】js对本地文件增删改查--改

前置条件:

1. 本地有安装node,点击传送门

项目目录:

  1. msg.json内容

{
    "data": [
        {
            "id": 1,
            "name": "aa"
        },
        {
            "id": 2,
            "name": "bb"
        },
        {
            "id": 3,
            "name": "cc"
        }
    ],
    "total": 3
}

2. revise.js

// 若找不到该模块,则用npm i fs安装一下即可
var fs = require('fs');

// 此处为模拟数据,后期会从页面传数据
var params = {
	"name": "hh"
}

//写入json文件选项
function reviseData(id, 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对象

		//找到对应的数据id进行删除
		for (var i = 0; i < msg.data.length; i++) {
			if (id == msg.data[i].id) {
				for (var key in params) {	//此处的key就是params数据键值对中的键,也就是将params中传过来的数据根据键名去更新原来此id的数据
					if (msg.data[i][key]) {
						msg.data[i][key] = params[key];
					}
				}

			}
		}

		msg.total = msg.data.length; //刷新一下总数,以后分页会用上
		console.log(msg);
		var str = JSON.stringify(msg, "", "	"); //因为nodejs的写入文件只认识字符串或者二进制数,因此进行必要的转换
		fs.writeFile('./data/msg.json', str, function(err) {
			if (err) {
				console.error(err);
			}
			console.log('----------修改成功-------------');
		})
	})
}

//执行新增数据方法;
reviseData(1, params)

3. 用node执行revise.js,效果如下图:

可以发现,数据已修改。

【基础篇】

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

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

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

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

【参考资料】

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

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