谈谈使用nodejs增删改查本地json文件的方法
本篇文章给大家介绍一下使用node对本地json文件进行增删改查的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
相关推荐:《nodejs 教程》
哈喽!nodejs的文件系统,接触过node的对node的文件系统肯定不会陌生,这两天我就在思考一个问题,我是否可以在本地操作我的本地json文件,这样一个本地的文本数据库就有了,如果是便签之类,记录的软件,我完全可以不用连后台的数据库,我可以自己操作本地的json文件,自己用node写后台,答案是肯定的,下面我们就一起来实现一下吧,对本地json文件的增、删、改、查
##1.增
首先我们先看一下demo的目录结构
我们看一下person.json的内容
没毛病,接下来就是见证奇迹的时刻了
下面写nodejs的代码
var fs = require('fs');var params = { "id":5, "name":"白眉鹰王"}//在真实的开发中id肯定是随机生成的而且不会重复的,下一篇写如何生成随机切不会重复的随机数,现在就模拟一下假数据//写入json文件选项function writeJson(params){ //现将json文件读出来 fs.readFile('./mock/person.json',function(err,data){ if(err){ return console.error(err); } var person = data.toString();//将二进制的数据转换为字符串 person = JSON.parse(person);//将字符串转换为json对象 person.data.push(params);//将传来的对象push进数组对象中 person.total = person.data.length;//定义一下总条数,为以后的分页打基础 console.log(person.data); var str = JSON.stringify(person);//因为nodejs的写入文件只认识字符串或者二进制数,所以把json对象转换成字符串重新写入json文件中 fs.writeFile('./mock/person.json',str,function(err){ if(err){ console.error(err); } console.log('----------新增成功-------------'); }) })}writeJson(params)//执行一下;
结果如下
下面我们来看一下json文件的结果
看,json文件已经被新增进来了
##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); //把数据读出来删除 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); //然后再把数据写进去 fs.writeFile('./mock/person.json',str,function(err){ if(err){ console.error(err); } console.log("----------删除成功------------"); }) })}deleteJson(5);//执行一下
第5个就删除了
##3.改
一开始的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); //把数据读出来,然后进行修改 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)//执行一下;
结果如下
看一下json文件
修改成功!!!!
##4.查
现在模拟一下分页
先看一下json文件长什么样
上代码
var fs = require('fs');//通过传回来的页数,进行分页模拟function pagination(p,s){ //p为页数,比如第一页传0,第二页传1,s为每页多少条数据 fs.readFile('./mock/person.json',function(err,data){ if(err){ console.error(err); } var person = data.toString(); person = JSON.parse(person); //把数据读出来 //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);//查询第一页,每页的数据条数为6条
执行结果为
下面看一下第二页
执行pagination(1,6);
执行结果为
以此类推,就实现了模拟分页的效果
##5.总结
ok,一套基本的增删改查就这样写完了,感觉node还是特别强大的,感觉自己又进步了一些,虽然可能有人觉得这样写没有意义,也许吧,但是我觉得很有意义,让我也收获了不少!!!
更多计算机编程相关知识,请访问:编程入门!!
Atas ialah kandungan terperinci 谈谈使用nodejs增删改查本地json文件的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Perbezaan utama antara Node.js dan Tomcat ialah: Runtime: Node.js adalah berdasarkan masa jalan JavaScript, manakala Tomcat ialah bekas Java Servlet. Model I/O: Node.js menggunakan model tidak menyekat tak segerak, manakala Tomcat menyekat segerak. Pengendalian konkurensi: Node.js mengendalikan konkurensi melalui gelung peristiwa, manakala Tomcat menggunakan kumpulan benang. Senario aplikasi: Node.js sesuai untuk aplikasi masa nyata, intensif data dan konkurensi tinggi, dan Tomcat sesuai untuk aplikasi web Java tradisional.

Node.js ialah masa jalan JavaScript bahagian pelayan, manakala Vue.js ialah rangka kerja JavaScript sisi klien untuk mencipta antara muka pengguna interaktif. Node.js digunakan untuk pembangunan bahagian pelayan, seperti pembangunan API perkhidmatan belakang dan pemprosesan data, manakala Vue.js digunakan untuk pembangunan sisi klien, seperti aplikasi satu halaman dan antara muka pengguna yang responsif.

Node.js boleh digunakan sebagai rangka kerja bahagian belakang kerana ia menawarkan ciri seperti prestasi tinggi, kebolehskalaan, sokongan merentas platform, ekosistem yang kaya dan kemudahan pembangunan.

Untuk menyambung ke pangkalan data MySQL, anda perlu mengikuti langkah berikut: Pasang pemacu mysql2. Gunakan mysql2.createConnection() untuk mencipta objek sambungan yang mengandungi alamat hos, port, nama pengguna, kata laluan dan nama pangkalan data. Gunakan connection.query() untuk melaksanakan pertanyaan. Akhir sekali gunakan connection.end() untuk menamatkan sambungan.

Terdapat dua fail berkaitan npm dalam direktori pemasangan Node.js: npm dan npm.cmd Perbezaannya adalah seperti berikut: sambungan berbeza: npm ialah fail boleh laku dan npm.cmd ialah pintasan tetingkap arahan. Pengguna Windows: npm.cmd boleh digunakan daripada command prompt, npm hanya boleh dijalankan dari baris arahan. Keserasian: npm.cmd adalah khusus untuk sistem Windows, npm tersedia merentas platform. Cadangan penggunaan: Pengguna Windows menggunakan npm.cmd, sistem pengendalian lain menggunakan npm.

Pembolehubah global berikut wujud dalam Node.js: Objek global: modul Teras global: proses, konsol, memerlukan pembolehubah persekitaran Runtime: __dirname, __filename, __line, __column Constants: undefined, null, NaN, Infinity, -Infinity

Ya, Node.js ialah bahasa pembangunan bahagian belakang. Ia digunakan untuk pembangunan bahagian belakang, termasuk mengendalikan logik perniagaan sebelah pelayan, mengurus sambungan pangkalan data dan menyediakan API.

Perbezaan utama antara Node.js dan Java ialah reka bentuk dan ciri: Didorong peristiwa vs. didorong benang: Node.js dipacu peristiwa dan Java dipacu benang. Satu-benang vs. berbilang benang: Node.js menggunakan gelung acara satu-benang dan Java menggunakan seni bina berbilang benang. Persekitaran masa jalan: Node.js berjalan pada enjin JavaScript V8, manakala Java berjalan pada JVM. Sintaks: Node.js menggunakan sintaks JavaScript, manakala Java menggunakan sintaks Java. Tujuan: Node.js sesuai untuk tugas intensif I/O, manakala Java sesuai untuk aplikasi perusahaan besar.
