json格式文件也是很常用的数据存储传输格式。本篇将介绍Node.js如何添加、修改和解析Json格式数据。
/**
* Json文件操作:添加、修改、删除以及读取
*/
const fs = require("fs");
const path = require("path");
var jsonFilePath = path.join(__dirname,"Student.json");
fs.open(jsonFilePath,"w+",(err,fd)=>{
//1.向Student.json文件中添加数据
fs.readFile(jsonFilePath,(err,data)=>{
if(err) throw err;
var student1 = {"Name":"Jhon","Age":12};
var student2 = {"Name":"Kevin","Age":15};
var students = data.toString() != "" ? JSON.parse(data.toString()) : [];//解析json文件数据为对象
students.push(student1);
students.push(student2);
var jsonStr = JSON.stringify(students);//将json对象转换成字符串,重新写入json文件
fs.writeFile(jsonFilePath,jsonStr,(err)=>{
if(err) throw err;
console.log("文件写入成功!");
//2.修改数据【删除操作原理类似】
fs.readFile(jsonFilePath,(err,data)=>{
if(err) throw err;
//从json文件中读取,并转换为对象
var students = data.toString() != "" ? JSON.parse(data.toString()) : [];//解析json文件数据为对象
for(var i=0;i<students.length;i++)
{
if(students[i].Name == "Jhon")
{
students[i].Age = 20;
break;
}
}
var jsonStr = JSON.stringify(students);//将json对象转换成字符串,重新写入json文件
fs.writeFile(jsonFilePath,jsonStr,(err)=>{
if(err) throw err;
console.log("文件修改成功!");
});
});
});
});
});
运行结果如下
以上是关于json格式文件的序列化与反序列化操作,以及增删查改操作的实现。