360 字
2 分钟
使用NodeJS将数据保存成JSON文件
开始
在平时我需要把后端一些object变量保存至本地,可以这样做:
var express = require("express");var app = express();var server = require("http").createServer(app);var fs = require('fs');app.use(express.static("public"));var port = process.env.PORT || 3000;
server.listen(port, function () { console.log("connected") });
var obj1 = { time: mytime.toLocaleString(), user: "薄荷派", objName: "obj1"};//写入文件,会完全替换之前JSON文件中的内容function writeData(value) { var 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); } var person = JSON.parse(data); person[obj1.objName] = value; var 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格式的内容转化为objobj.arrayObj.push(value);//将传来的对象push进数组对象中(前两个写对应的对象) 使用NodeJS将数据保存成JSON文件
https://fuwari.vercel.app/posts/2019年/使用nodejs将数据保存成json文件/