欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

詳解利用nodejs對本地json文件進行增刪改查

哈嘍!nodejs的文件系統(tǒng),接觸過node的對node的文件系統(tǒng)肯定不會陌生,這兩天我就在思考一個問題,我是否可以在本地操作我的本地json文件,這樣一個本地的文本數(shù)據(jù)庫就有了,如果是便簽之類,記錄的軟件,我完全可以不用連后臺的數(shù)據(jù)庫,我可以自己操作本地的json文件,自己用node寫后臺,答案是肯定的,下面我們就一起來實現(xiàn)一下吧,對本地json文件的增、刪、改、查

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、網(wǎng)站建設與策劃設計,靖江網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設十余年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:靖江等地區(qū)。靖江做網(wǎng)站價格咨詢:18980820575

1.增

首先我們先看一下demo的目錄結構

詳解利用nodejs對本地json文件進行增刪改查

我們看一下person.json的內(nèi)容

詳解利用nodejs對本地json文件進行增刪改查

沒毛病,接下來就是見證奇跡的時刻了

下面寫nodejs的代碼

var fs = require('fs');
var params = {
  "id":5,
  "name":"白眉鷹王"
}//在真實的開發(fā)中id肯定是隨機生成的而且不會重復的,下一篇寫如何生成隨機切不會重復的隨機數(shù),現(xiàn)在就模擬一下假數(shù)據(jù)
//寫入json文件選項
function writeJson(params){
  //現(xiàn)將json文件讀出來
  fs.readFile('./mock/person.json',function(err,data){
    if(err){
      return console.error(err);
    }
    var person = data.toString();//將二進制的數(shù)據(jù)轉換為字符串
    person = JSON.parse(person);//將字符串轉換為json對象
    person.data.push(params);//將傳來的對象push進數(shù)組對象中
    person.total = person.data.length;//定義一下總條數(shù),為以后的分頁打基礎
    console.log(person.data);
    var str = JSON.stringify(person);//因為nodejs的寫入文件只認識字符串或者二進制數(shù),所以把json對象轉換成字符串重新寫入json文件中
    fs.writeFile('./mock/person.json',str,function(err){
      if(err){
        console.error(err);
      }
      console.log('----------新增成功-------------');
    })
  })
}
writeJson(params)//執(zhí)行一下;

結果如下

詳解利用nodejs對本地json文件進行增刪改查

下面我們來看一下json文件的結果

詳解利用nodejs對本地json文件進行增刪改查

看,json文件已經(jīng)被新增進來了

2.刪

var fs = require('fs');
//刪除json文件中的選項
function deleteJson(id){
  fs.readFile('./mock/person.json',function(err,data){
    if(err){
      return console.error(err);
    }
    var person = data.toString();
    person = JSON.parse(person);
    //把數(shù)據(jù)讀出來刪除
    for(var i = 0; i < person.data.length;i++){
      if(id == person.data[i].id){
        //console.log(person.data[i])
        person.data.splice(i,1);
      }
    }
    console.log(person.data);
    person.total = person.data.length;
    var str = JSON.stringify(person);
    //然后再把數(shù)據(jù)寫進去
    fs.writeFile('./mock/person.json',str,function(err){
      if(err){
        console.error(err);
      }
      console.log("----------刪除成功------------");
    })
  })
}
deleteJson(5);//執(zhí)行一下

詳解利用nodejs對本地json文件進行增刪改查

詳解利用nodejs對本地json文件進行增刪改查

第5個就刪除了

3.改

一開始的json文件是這個樣子的

詳解利用nodejs對本地json文件進行增刪改查

下面上代碼

var fs = require('fs');
var params = {
  "name":"孫悟空"
}
function changeJson(id,params){
  fs.readFile('./mock/person.json',function(err,data){
    if(err){
      console.error(err);
    }
    var person = data.toString();
    person = JSON.parse(person);
    //把數(shù)據(jù)讀出來,然后進行修改
    for(var i = 0; i < person.data.length;i++){
      if(id == person.data[i].id){
        console.log('id一樣的');
        for(var key in params){
          if(person.data[i][key]){
            person.data[i][key] = params[key];
          }
        }
      }
    }
    person.total = person.data.length;
    var str = JSON.stringify(person);
    //console.log(str);
    fs.writeFile('./mock/person.json',str,function(err){
      if(err){
        console.error(err);
      }
      console.log('--------------------修改成功');
      console.log(person.data);
    })
  })
}
changeJson(3,params)//執(zhí)行一下;

結果如下

詳解利用nodejs對本地json文件進行增刪改查

看一下json文件

詳解利用nodejs對本地json文件進行增刪改查

修改成功!!?。?/p>

4.查

現(xiàn)在模擬一下分頁

先看一下json文件長什么樣

詳解利用nodejs對本地json文件進行增刪改查

上代碼

var fs = require('fs');
//通過傳回來的頁數(shù),進行分頁模擬
function pagination(p,s){
  //p為頁數(shù),比如第一頁傳0,第二頁傳1,s為每頁多少條數(shù)據(jù)
  fs.readFile('./mock/person.json',function(err,data){
    if(err){
      console.error(err);
    }
    var person = data.toString();
    person = JSON.parse(person);
    //把數(shù)據(jù)讀出來
    //console.log(person.data);
    var length = person.data.length;
    var pagePerson = person.data.slice(s*p,(p+1)*s);
    console.log('------------------------查詢成功pagePerson');
    console.log(pagePerson);
  })
}
pagination(0,6);//查詢第一頁,每頁的數(shù)據(jù)條數(shù)為6條

執(zhí)行結果為

詳解利用nodejs對本地json文件進行增刪改查

下面看一下第二頁

執(zhí)行pagination(1,6);

執(zhí)行結果為

詳解利用nodejs對本地json文件進行增刪改查

以此類推,就實現(xiàn)了模擬分頁的效果

5.總結

ok,一套基本的增刪改查就這樣寫完了,感覺node還是特別強大的,感覺自己又進步了一些,雖然可能有人覺得這樣寫沒有意義,也許吧,但是我覺得很有意義,讓我也收獲了不少?。?!

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

文章名稱:詳解利用nodejs對本地json文件進行增刪改查
文章位置:http://aaarwkj.com/article2/gpegic.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站電子商務、建站公司營銷型網(wǎng)站建設、網(wǎng)站建設、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設
日韩国产欧美亚洲一区不卡| 日韩商清av毛片网站| 久久精品性少妇一区=区三区| 日韩精品91一区二区| 18岁未成年禁止观看视频| 亚洲欧美国产另类综合| 亚洲一区二区日韩在线| 青青草免费在线播放视频网站| 高清不卡av在线播放| 日韩日美日韩av影视| 欧美日韩一区二区三区666| 久久精品熟女亚洲av韩国| 五月婷婷六月丁香伊人网| 高清国产国产精品三级国产av| av免费在线不卡观看| 国产成人国产精品国产三级| 黄色录像一级二级三级| 九九在线视频精品免费播放| 国产免费av高清在线| 国产精品一区二区麻豆本子| 成人av影视中文字幕| 中文字幕成人资源网站| 日韩毛片免费看美日韩毛片| 日本视频三区在线播放| 日韩新片免费专区在线| 中文国产人精品久久蜜桃| 免费人成在线观看网站免费观看| 超碰国产精品一区二区| 亚洲中文无码亚洲人vr在线| 久久99热婷婷精品一区| 国产精品自在线拍亚洲另类| 大香蕉一区二区亚洲欧美| 精品欧美熟妇高潮喷水特黄| 成年人网站一级黄色免费| 国产91高清免费视频| 在线亚洲av不卡一区二区三区| 一起草草视频在线观看| 久久精品二区亚洲w码| 欧美日韩黄色的三级视频| 久久热这里只有精品网站| 91午夜精品在线观看|