最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在nodeJs中如何修改json文件中的數(shù)據(jù)

 更新時(shí)間:2022年10月21日 16:55:05   作者:前端需要死磕  
這篇文章主要介紹了在nodeJs中如何修改json文件中的數(shù)據(jù),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

nodeJs修改json文件中的數(shù)據(jù)

// 注意,在內(nèi)部讀取文件不能訪問 json 文件中的屬性,不知道為什么,所以在外部讀取文件
const detailArr = require('./data/Details_shoplist_info.json');
app.get('/api/modify_details_info',function (req, res) {
    // 獲取 GET 的請求數(shù)據(jù)
    let item = req.query.item;
    let param = req.query.param;
	// 操作對象中的屬性
    detailArr.message[0][item] = param;
    // 將文件轉(zhuǎn)為 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("點(diǎn)贊成功!");
            res.send(JSON.stringify(data1));
        }
    })
})

node.js批量處理json文件

處理一批數(shù)據(jù)(一堆json文件),要求如下:

// 原始數(shù)據(jù)
{
?? ?v: {
?? ??? ?code: xxx, // 此屬性可能存在,可能不存在
?? ??? ?a: xxx,
?? ??? ?b: xxx,
?? ??? ?c: xxx
?? ?}
}
// 處理后
{
?? ?code: 文件名
?? ?a: xxx,
?? ?b: xxx,
?? ?c: xxx
}

心理活動(dòng)

如果一條一條改的話,額。。。好無聊,剛剛可以批處理修改文件名,那能不能通過 node 批量處理一下內(nèi)容呢?百度一下,node 讀文件、寫文件,OK,開干

實(shí)操

var fs = require('fs');//引用文件系統(tǒng)模塊
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 = {};//定義一個(gè)對象存放文件的路徑和名字
? ? ? ? ? ? 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;
? ? ? ? ? ? // 將內(nèi)容寫入文件
? ? ? ? ? ? fs.writeFile(`./${item.filename}`, JSON.stringify(newData), 'utf8', (err) => {
? ? ? ? ? ? ? ? if (err) throw err;
? ? ? ? ? ? ? ? console.log('success done');
? ? ? ? ? ? });
? ? ? ? })
? ? }
})

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • node.js中的http.request方法使用說明

    node.js中的http.request方法使用說明

    這篇文章主要介紹了node.js中的http.request方法使用說明,本文介紹了http.request的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼需要的朋友可以參考下
    2014-12-12
  • 使用PM2實(shí)現(xiàn)高效的應(yīng)用監(jiān)控與管理功能

    使用PM2實(shí)現(xiàn)高效的應(yīng)用監(jiān)控與管理功能

    PM2?是一個(gè)流行的進(jìn)程管理器,用于?Node.js?應(yīng)用程序,它支持應(yīng)用程序的負(fù)載均衡、自動(dòng)重啟、日志管理、監(jiān)控以及多環(huán)境管理等功能,本文給大家介紹了如何使用PM2實(shí)現(xiàn)高效的應(yīng)用監(jiān)控與管理功能,需要的朋友可以參考下
    2024-02-02
  • Node.js添加API限流與日志優(yōu)化詳解

    Node.js添加API限流與日志優(yōu)化詳解

    這篇文章主要介紹了Node.js添加API限流與日志優(yōu)化的相關(guān)資料,以增強(qiáng)API的穩(wěn)定性和可維護(hù)性,API限流功能可以防止惡意請求和DDoS攻擊,優(yōu)化后的日志記錄系統(tǒng)則可以幫助我們更好地跟蹤和調(diào)試應(yīng)用,快速定位問題,需要的朋友可以參考下
    2024-11-11
  • node.js平臺下利用cookie實(shí)現(xiàn)記住密碼登陸(Express+Ejs+Mysql)

    node.js平臺下利用cookie實(shí)現(xiàn)記住密碼登陸(Express+Ejs+Mysql)

    這篇文章主要介紹了node.js平臺下利用cookie實(shí)現(xiàn)記住密碼登陸(Express+Ejs+Mysql),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • node以及npm版本不對應(yīng)出錯(cuò)的完美解決方法

    node以及npm版本不對應(yīng)出錯(cuò)的完美解決方法

    最近項(xiàng)目用到了node和npm,查看一下當(dāng)前版本,發(fā)現(xiàn)有報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于node以及npm版本不對應(yīng)出錯(cuò)的完美解決方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Node.js?子線程Crash?問題的排查方法

    Node.js?子線程Crash?問題的排查方法

    這篇文章主要介紹了Node.js?子線程Crash?問題的排查,本文通過代碼例子給大家詳細(xì)講解,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Node.js進(jìn)階之核心模塊https入門

    Node.js進(jìn)階之核心模塊https入門

    在nodejs中,提供了 https 這個(gè)模塊來完成 HTTPS 相關(guān)功能。這篇文章主要介紹了Node.js進(jìn)階之核心模塊https入門,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 用C/C++來實(shí)現(xiàn) Node.js 的模塊(二)

    用C/C++來實(shí)現(xiàn) Node.js 的模塊(二)

    上篇文章的主要內(nèi)容講訴了用C/C++來實(shí)現(xiàn) Node.js 的模塊,本文更深一步繼續(xù)探討這個(gè)問題,有需要的朋友可以參考下
    2014-09-09
  • Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版

    Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版

    這篇文章主要介紹了Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版 的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • 前端需知nodejs?express中間件使用及定義詳解

    前端需知nodejs?express中間件使用及定義詳解

    這篇文章主要為大家介紹了前端需知nodejs?express中間件使用及定義詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10

最新評論

图木舒克市| 万源市| 托克托县| 大城县| 嵩明县| 铁岭县| 泰宁县| 滦南县| 博爱县| 渭源县| 开封市| 东莞市| 改则县| 平谷区| 军事| 湖口县| 德江县| 嘉义市| 临朐县| 巴林右旗| 成安县| 容城县| 开平市| 饶平县| 阿荣旗| 苍溪县| 铁岭县| 儋州市| 巴林左旗| 兴和县| 陆丰市| 盐边县| 河间市| 扬州市| 巴林左旗| 枞阳县| 方城县| 沁阳市| 安龙县| 彝良县| 邵武市|