首页 > 编程语言 >使用NodeJS将数据保存成JSON文件

使用NodeJS将数据保存成JSON文件

时间:2024-04-03 18:23:13浏览次数:26  
标签:obj1 obj err NodeJS json value 保存 JSON

使用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进数组对象中(前两个写对应的对象)

标签:obj1,obj,err,NodeJS,json,value,保存,JSON
From: https://www.cnblogs.com/sexintercourse/p/18113306

相关文章

  • Jmeter使用json提取器进行模糊提取的方法
    根据JsonPath的官方文档:GitHub-json-path/JsonPath:JavaJsonPathimplementation即下图:若需要对既有的json内容进行模糊匹配,需要使用以上多种方式,但是更建议使用正则匹配的方式。 $..results[?(@.name=~/.*CICD/i)].name表示对results中的name值为CICD结尾的内容进行......
  • json字符串重复转义问题
    若后台返回的是一个json字符串格式的值,我们首先做的是先用JSON.parse()转化成json数组,然后再通过点的方式取到里面的值但是在实际使用过程中,会发现有重复转义的问题,第一次操作正常,第二次点击其他按钮后,json字符串前就多了一个\,所以在进行parse之前,要先用replace()去除\ 一、使......
  • Python框架下的qt设计之JSON格式化转换小程序
    JSON转换小程序代码展示:主程序代码:fromPyQt6.QtWidgetsimport(QApplication,QDialog,QMessageBox)importsysimportjsonclassMyJsonFormatter(jsonui.Ui_jsonFormatter,QDialog):#jsonui是我qt界面py文件名def__init__(self):supe......
  • 【C/C++】VsCode调试配置tasks.json和launch.json
    前段时间配大作业环境改了很多配置,发现tasks.json和launch.json经常令自己很迷惑。网上找的配置有时会有各种各样的问题,在此记录一下上学期配好的配置文件,日后有时间再详细研究研究tasks.json:{"version":"2.0.0","tasks":[{"type":"shell",......
  • ETL工具-nifi干货系列 第七讲 处理器JoltTransformJSON(续)
    第六讲教程只简单介绍了Jolt的chain转换模式,本节课介绍下Jolt的各种转换模式。点击的处理器JoltTransformJSON高级配置选项,进行测试Jolt的转换模式。 1、Cardinality:更改了输入JSON数据元素的基数,适用于jsonObj和jsonList之间的转换。list转为obj input{"review......
  • ETL工具-nifi干货系列 第七讲 处理器JoltTransformJSON(续)
    第六讲教程只简单介绍了Jolt的chain转换模式,本节课介绍下Jolt的各种转换模式。点击的处理器JoltTransformJSON高级配置选项,进行测试Jolt的转换模式。1、Cardinality:更改了输入JSON数据元素的基数,适用于jsonObj和jsonList之间的转换。list转为objinput{"review......
  • nodejs在谷歌浏览器中调试
    一.浏览器开启实验室模式在谷歌浏览器中输入网址<chrome://flags/>,进入页面后打开该功能。二.配置js文件我用的是pycharm,首先对需要调试的js文件进行配置,然后填入--inspect-brk三.调试jsDebugger要调试的js文件,然后在谷歌浏览器中新打开一个标签页,打开开发者工具,等待nod......
  • nodeJs 实现视频的转换(超详细教程)
    前段时间拿到一个视频是4k的,没法播放,于是通过node.js  和 ffmpeg实现了视频的转换。在win10系统下实现。所需工具node16.19直接安装ffmpeg-5.1.1-essentials_build解压后重名ffmpeg放到C盘然后配置下环境变量Git-2.42.0.2-64-bit直接安装安装完建一个demo......
  • nodejs websocket
    github:库地址node后端:interfacemsgType{from:string;to:string;msg:string;}exportclassServer{privatews=require("nodejs-websocket");privateconnections:{nickname:string;con:any}[]=[];constructor(){this.sta......
  • Cannot deserialize the current JSON array (e.g. [1,2,3]) into type ‘model’ bec
    错误:CannotdeserializethecurrentJSONarray(e.g.[1,2,3])intotype‘model’becausethetyperequiresaJSONobject(e.g.{“name”:“value”})todeserializecorrectly.TofixthiserroreitherchangetheJSONtoaJSONobject 原因:json或xml字符串中......