• 【基础篇】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对本地文件增删改查--查

    【参考资料】

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

  • 相关阅读:
    联考20200520 T2 函数
    联考20200520 T1 石子游戏
    模拟赛T2 中继系统
    模拟赛T2 仙人掌毒题
    BZOJ3462 DZY Loves Math II
    20200129模拟赛T1 string
    BZOJ1316 树上的询问
    BZOJ4559 成绩比较
    JZOJ4238 纪念碑
    BZOJ 2648 世界树
  • 原文地址:https://www.cnblogs.com/blogNGNL/p/14104906.html
Copyright © 2020-2023  润新知