使用NodeJS将数据保存成JSON文件
在平时我需要把后端一些object变量保存至本地,可以这样做:
const express = require("express");
const app = express();
const server = require("http").createServer(app);
const fs = require('fs');
app.use(express.static("public"));
const port = process.env.PORT || 3000;
server.listen(port, function () { console.log(`服务已在端口${port}运行`) });
const obj1 = {
time: mytime.toLocaleString(),
user: "薄荷派",
objName: "obj1"
};
//写入文件,会完全替换之前JSON文件中的内容
function writeData(value) {
let str = JSON.stringify(value, "", "\t");
fs.writeFile('./json.json', str, function (err) {
if (err) {
console.error(err);
}
console.log('写入成功!');
})
}
//读取文件然后在原有文件内容的基础上添加内容,如果key名重复则覆盖
function addData(value) {
fs.readFile('./json.json', "utf-8", function (err, data) {
if (err) {
console.log(err);
}
let person = JSON.parse(data);
person[obj1.objName] = value;
let str = JSON.stringify(person, "", "\t");
fs.writeFile('./json.json', str, function (err) {
if (err) {
console.error(err);
}
console.log('新增成功!');
})
})
}
//运行函数,可以查看不同函数对数据的改动
//writeData(obj1);
//addData(obj1);
通过运行上面函数可以分别在原有JSON文件中写入、覆盖数据
下面的函数可以更好的操作数据
Object.assign(obj1, obj2);//合并两个obj的内容,重复的会被第一个obj替换,最后obj1的内容为obj1+obj2的内容
Object.keys(person).length;//查看当前obj里同级所有的key的总数,结果为数字
JSON.stringify(value);//将obj输出成json格式
JSON.stringify(value, "", "\t");//将obj输出成json格式同时自动格式化
JSON.parse(value);//将json格式的内容转化为obj
obj.arrayObj.push(value);//将传来的对象push进数组对象中(前两个写对应的对象)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析