前置条件:

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

【基础篇】js对本地文件增删改查--增的更多相关文章

  1. hibernate关联对象的增删改查------增

    本文可作为,北京尚学堂马士兵hibernate课程的学习笔记. 这一节,我们看看hibernate关联关系的增删改查 就关联关系而已,咱们在上一节已经提了很多了,一对多,多对一,单向,双向... 其实 ...

  2. Sqlserver 增删改查----增

    注意我说的常见查询,可不是简单到一个表得增删改查,做过实际开发得人都知道,在实际开发中,真正牵扯到一个表得增删改查只能说占很小得一部分,大多都是好几个表的关联操作的. 下面我就说一下我在实际开发中经常 ...

  3. Ajax增删改查-----------增

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. php 数据库内容增删改查----增

    首先,建立一个主页面(crud.php) <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

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

    [基础篇] js对本地文件增删改查--增 js对本地文件增删改查--删 js对本地文件增删改查--改 js对本地文件增删改查--查

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

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

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

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

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

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  9. MongoDB学习笔记,基础+增删改查+索引+聚合...

    一 基础了解 对应关系 -> https://docs.mongodb.com/manual/reference/sql-comparison/ database -> database ...

随机推荐

  1. 一条 Git 命令减少了一般存储空间,我的服务器在偷着笑

    元旦不是搭建了一个<Java 程序员进阶之路>的网站嘛,其中用到了 Git 来作为云服务器和 GitHub 远程仓库之间的同步工具. 作为开发者,相信大家都知道 Git 的重要性.Git ...

  2. Solon Web 开发,二、开发知识准备

    Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...

  3. 安卓无法访问Azure服务器和微软API

    Azure服务器保护机制限制移动端访问 必须使用移动app服务来转接api,才可以访问.

  4. sqoop如何指定pg库的模式

    摘要:sqoop如何指定pg库的模式? 本文分享自华为云社区<[Hadoop]关于Sqoop导出数据到postgresql时schema的设置问题>,作者:Copy工程师 . 说明 使用s ...

  5. Servlet Session的使用

    Session 是服务器端会话技术.当浏览器访问 Web 服务器的资源时,服务器可以为每个用户浏览器创建一个 Session 对象,每个浏览器独占一个 Session 对象.由于每个浏览器独占一个 S ...

  6. golang中匿名函数的应用-回调函数-闭包

    package main import ( "fmt" "strconv" ) type funcType func(int, int) int // 自定义函 ...

  7. 深入了解promise

    1. Promise基础 什么是回调地狱? 当使用回调函数来进行事件处理的时候,如果嵌套多层回调函数的时候,就会出现回调地狱,例如: method1(function(err, result) { i ...

  8. 首页页面(html+css+js)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. 前端基础之javaScript(基本类型-布尔值数组-if-while)

    目录 一:javaScript基本数据类型 1.字符串类型常用方法 2.返回长度 3.移出空白 4.移除左边的空白 5.移出右边的空格 6.返回第n个字符 7.子序列位置 8.根据索引获取子序列 9. ...

  10. Java高级语法之反射

    Java高级语法之反射 什么是反射 java.lang包提供java语言程序设计的基础类,在lang包下存在一个子包:reflect,与反射相关的APIs均在此处: 官方对reflect包的介绍如下: ...