在nodeJs中如何修改json文件中的数据

目录
  • nodeJs修改json文件中的数据
  • node.js批量处理json文件
    • 心理活动
    • 实操

nodeJs修改json文件中的数据

// 注意,在内部读取文件不能访问 json 文件中的属性,不知道为什么,所以在外部读取文件
const detailArr = require('./data/Details_shoplist_info.json');
app.get('/api/modify_details_info',function (req, res) {
    // 获取 GET 的请求数据
    let item = req.query.item;
    let param = req.query.param;
	// 操作对象中的属性
    detailArr.message[0][item] = param;
    // 将文件转为 JSON 字符串
    let result = JSON.stringify(detailArr);
    // 将修改后的对象存回 json 文件中
    fs.writeFile("./data/Details_shoplist_info.json",result,"utf8",function (err, data1) {
        if(err){
            console.error(err);
        }
        else{
            console.log("点赞成功!");
            res.send(JSON.stringify(data1));
        }
    })
})

node.js批量处理json文件

处理一批数据(一堆json文件),要求如下:

// 原始数据
{
    v: {
        code: xxx, // 此属性可能存在,可能不存在
        a: xxx,
        b: xxx,
        c: xxx
    }
}
// 处理后
{
    code: 文件名
    a: xxx,
    b: xxx,
    c: xxx
}

心理活动

如果一条一条改的话,额。。。好无聊,刚刚可以批处理修改文件名,那能不能通过 node 批量处理一下内容呢?百度一下,node 读文件、写文件,OK,开干

实操

var fs = require('fs');//引用文件系统模块
const path = require('path');
function readFileList(path, filesList) {
    var files = fs.readdirSync(path);
    files.forEach(function (itm, index) {
        var stat = fs.statSync(path + itm);
        if (stat.isDirectory()) {
            //递归读取文件
            readFileList(path + itm + "/", filesList)
        } else {
            var obj = {};//定义一个对象存放文件的路径和名字
            obj.path = path;//路径
            obj.filename = itm//名字
            filesList.push(obj);
        }
    })
}
var getFiles = {
    //获取文件夹下的所有文件
    getFileList: function (path) {
        var filesList = [];
        readFileList(path, filesList);
        return filesList;
    },
};
//获取文件夹下的所有文件
let fileLists = getFiles.getFileList('./');
fileLists.forEach(item => {
    if (path.extname(item.filename) === '.json') {
        fs.readFile(path.join(__dirname, `./${item.filename}`), 'utf8', function (err, data) {
            if (err) throw err;
            let list = JSON.parse(data);
            const keys = Object.keys(list);
            const filename = item.filename.replace(path.extname(item.filename), '');
            let target = { code: filename };
            let newData = Object.assign(target, list[keys]);
            newData.code = filename;
            // 将内容写入文件
            fs.writeFile(`./${item.filename}`, JSON.stringify(newData), 'utf8', (err) => {
                if (err) throw err;
                console.log('success done');
            });
        })
    }
})

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • nodejs将JSON字符串转化为JSON对象报错的解决

    如何将JSON字符串转化为JSON对象? JSON.parse(str) JSON是javascript的一个内置对象,提供了转换JSON对象与字符串互相转换的方法: 问题来了,道理我都懂可是就是报错! 这是我的一个JSON文件,里面是一些定义的JSON测试数据: 这是核心代码: 这是报错的信息: 为什么报错? 因为我的json文件读出来的开头有一个空格.就这回事. ok,修改代码,测试 使用trim去掉开头多余的空格 ok,通过! nodejs解析JSON数据 在nodejs中不用像在js中一

  • 使用nodejs解析json数据

    目录 nodejs解析json数据 第一 第二 第三 第四 node.js解析本地json 从文件读取json 解析json字符串为json对象 扩展 nodejs解析json数据 nodejs是服务器端的javascript的处理平台.json(JavaScript Object Notation) 是一种轻量级的数据交换格式.我们在写服务端的程序时往往需要使用json来处理数据. 这里我们用一个简单的例子来演示如何用nodejs来处理json数据文件. 第一 我们需要在ubuntu14.04

  • nodejs读写json文件的简单方法(必看)

    nodejs 读json文件 var fs=reauire('fs'); var file="d:\\0.json"; var result=JSON.parse(fs.readFileSync( file)); //操作对象 nodejs 写json文件 var coors = {}; coors.left_top = {}; coors.right_top = {}; coors.left_bottom = {}; coors.right_bottom = {}; //填充coor

  • 详解利用nodejs对本地json文件进行增删改查

    哈喽!nodejs的文件系统,接触过node的对node的文件系统肯定不会陌生,这两天我就在思考一个问题,我是否可以在本地操作我的本地json文件,这样一个本地的文本数据库就有了,如果是便签之类,记录的软件,我完全可以不用连后台的数据库,我可以自己操作本地的json文件,自己用node写后台,答案是肯定的,下面我们就一起来实现一下吧,对本地json文件的增.删.改.查 1.增 首先我们先看一下demo的目录结构 我们看一下person.json的内容 没毛病,接下来就是见证奇迹的时刻了 下面写n

  • Vue中请求本地JSON文件并返回数据的方法实例

    目录 1.目录结构 2.检查一下自己是否安装了 json-server(以下截图代表安装了) 3.安装完成以后我们就可以运行自己的json文件了 4.看看浏览器里的数据呈现效果吧 5.为了保险起见,我还特地去 postman 上测试了一下(可以省略这步) 6.现在我们可以编写代码发送请求来获取数据啦 7.在控制台就可以看到我们数据请求回来了 总结 1.目录结构 直接在根目录下创建自己的JSON文件,在此我的JSON文件名为data.json 以下是我的JSON文件内容(此处是参照的黑马程序员的v

  • Vue中如何获取json文件中的数据

    目录 场景 实现 场景 访问百度音乐API需要传递音乐类型参数,而这些参数是存在musictype.json中, 现在在组件listcate.vue需要获取json数据. json文件内容: 文件位置: 实现 musictype.json { "currentType":[1,2,11,21,22,23,24,25] } listcate.vue <template lang="html"> <div> <ListCate_List v

  • 详解ASP.NET Core 在 JSON 文件中配置依赖注入

    前言 在上一篇文章中写了如何在MVC中配置全局路由前缀,今天给大家介绍一下如何在在 json 文件中配置依赖注入. 在以前的 ASP.NET 4+ (MVC,Web Api,Owin,SingalR等)时候,都是提供了专有的接口以供使用第三方的依赖注入组件,比如我们常用的会使用 Autofac.Untiy.String.Net 等,这些第三放依赖注入组件基本上都提供了一套配置注入或者配置生命周期的方式,除了直接配置到类里面之外,还提供了要么使用 xml 文件,要么使用 json 等,那么在新的

  • Python实现将json文件中向量写入Excel的方法

    本文实例讲述了Python实现将json文件中向量写入Excel的方法.分享给大家供大家参考,具体如下: 有一个需要是将已经向量化的页面的数据中的向量写入Excel中用于展示,工作很简单,这里简单复习一下Excel文件写的工作,试验中使用的json文件内容如下: 复制代码 代码如下: [ {"vector": [0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0

  • Spring Boot 从静态json文件中读取数据所需字段

    •在实体中,通常使用类似字典表的文件来表示属性,文件大都配置在配置文件中,也可以是静态文件,本次记录如何从静态json文件中读取所需字段. 1.文件格式以及路径 2.加载文件 import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; @Value("classpath:static/data/area.json") private Res

  • 在vue中读取本地Json文件的方法

    其实关于这个问题,网上已经可以找到些方法,不过基本上没有完整的,或者是其中有些坑,下面写一下自己的亲身实践. 使用vue读取本地json文件需要安装vue-resource插件,然后使用它的$http.get来读取json文件. json文件应该是必须放在static目录下 然后使用npm install 命令安装vue-resource,太慢的话就使用淘宝镜像安装,安装完成后先引用这个组件. 在main.js文件中添加: import VueResource from 'vue-resourc

  • jQuery访问json文件中数据的方法示例

    本文实例讲述了jQuery访问json文件中数据的方法.分享给大家供大家参考,具体如下: 有时候我们可能需要用到json文件存储数据,然后通过前台语言直接进行访问. 首先是json文件: { "管道": [ { "ElementId": "标识号", "GISID": "GISID", "Label": "编号", "StartNodeID":&q

  • python修改txt文件中的某一项方法

    在做task中,需要将TXT文本中的某一项注释修改,但是python对txt文本只有写入和读取两种操作. 我采用的方法是: 1.读取txt文件,将每一行数据,加入新建立的list中. 2.在list中修改数据 3.再新建一个txt文件,按行存入数据.记得添加 '/n' 分行 实例: 这里修改里面的数字,修改为: from __future__ import division with open(r'TACoS_test_samples-Copy1.txt','r') as f1: lines =

  • 使用python批量修改XML文件中图像的depth值

    最近刚刚接触深度学习,并尝试学习制作数据集,制作过程中发现了一个问题,现在跟大家分享一下.问题是这样的,在制作voc数据集时,我采集的是灰度图像,并已经用labelimg生成了每张图像对应的XML文件.训练时发现好多目标检测模型使用的训练集是彩色图像,因此特征提取网络的输入是m×m×3的维度的图像.所以我就想着把我采集的灰度图像的深度也改成3吧.批量修改了图像的深度后,发现XML中的depth也要由1改成3才行.如果重新对图像标注一遍生成XML文件的话太麻烦,所以就想用python批量处理一下.

  • 如何修改json字符串中某个key对应的value值

    字符串转json ,下面这种方式会把原有的字符串顺序打乱,所以不采用 JSONObject jsonObject = JSON.parseObject(你的JSON); 要先转为LinkedHashMap,再转json LinkedHashMap<String, Object> json = JSON.parseObject(你的JSON,LinkedHashMap.class,Feature.OrderedField); JSONObject jsonObject=new JSONObjec

随机推荐