小編給大家分享一下怎么使用nodejs增刪改查本地json文件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
##1.增
首先我們先看一下demo的目錄結(jié)構(gòu)
我們看一下person.json的內(nèi)容
沒毛病,接下來就是見證奇跡的時(shí)刻了
下面寫nodejs的代碼
var fs = require('fs');var params = { "id":5, "name":"白眉鷹王"}//在真實(shí)的開發(fā)中id肯定是隨機(jī)生成的而且不會(huì)重復(fù)的,下一篇寫如何生成隨機(jī)切不會(huì)重復(fù)的隨機(jī)數(shù),現(xiàn)在就模擬一下假數(shù)據(jù)//寫入json文件選項(xiàng)function writeJson(params){ //現(xiàn)將json文件讀出來 fs.readFile('./mock/person.json',function(err,data){ if(err){ return console.error(err); } var person = data.toString();//將二進(jìn)制的數(shù)據(jù)轉(zhuǎn)換為字符串 person = JSON.parse(person);//將字符串轉(zhuǎn)換為json對(duì)象 person.data.push(params);//將傳來的對(duì)象push進(jìn)數(shù)組對(duì)象中 person.total = person.data.length;//定義一下總條數(shù),為以后的分頁(yè)打基礎(chǔ) console.log(person.data); var str = JSON.stringify(person);//因?yàn)閚odejs的寫入文件只認(rèn)識(shí)字符串或者二進(jìn)制數(shù),所以把json對(duì)象轉(zhuǎn)換成字符串重新寫入json文件中 fs.writeFile('./mock/person.json',str,function(err){ if(err){ console.error(err); } console.log('----------新增成功-------------'); }) })}writeJson(params)//執(zhí)行一下;
結(jié)果如下
下面我們來看一下json文件的結(jié)果
看,json文件已經(jīng)被新增進(jìn)來了
##2.刪
var fs = require('fs');//刪除json文件中的選項(xiàng)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ù)寫進(jìn)去 fs.writeFile('./mock/person.json',str,function(err){ if(err){ console.error(err); } console.log("----------刪除成功------------"); }) })}deleteJson(5);//執(zhí)行一下
第5個(gè)就刪除了
##3.改
一開始的json文件是這個(gè)樣子的
下面上代碼
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ù)讀出來,然后進(jìn)行修改 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í)行一下;
結(jié)果如下
看一下json文件
修改成功!?。?!
##4.查
現(xiàn)在模擬一下分頁(yè)
先看一下json文件長(zhǎng)什么樣
上代碼
var fs = require('fs');//通過傳回來的頁(yè)數(shù),進(jìn)行分頁(yè)模擬function pagination(p,s){ //p為頁(yè)數(shù),比如第一頁(yè)傳0,第二頁(yè)傳1,s為每頁(yè)多少條數(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);//查詢第一頁(yè),每頁(yè)的數(shù)據(jù)條數(shù)為6條
執(zhí)行結(jié)果為
下面看一下第二頁(yè)
執(zhí)行pagination(1,6);
執(zhí)行結(jié)果為
以此類推,就實(shí)現(xiàn)了模擬分頁(yè)的效果
以上是“怎么使用nodejs增刪改查本地json文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文標(biāo)題:怎么使用nodejs增刪改查本地json文件-創(chuàng)新互聯(lián)
URL鏈接:http://www.rwnh.cn/article26/jogjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、企業(yè)建站、網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、做網(wǎng)站、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容