一、前言
看着即将退休的联想笔记本,心中感慨万千.回想起他陪伴我的这么多年,回想起自己初学node.js中永远搞不懂的绝对路径.心中不免想起现在依旧能背起来的练习题.
二、经典练习题
对JSON类型的操作:
- 如图,根目录如下:
2. 文件data.json的内容如下:
[{"name":"小王"},{"name":"小李"}]
- 文件yourfile.js是需要写代码去完成功能,node yourfile.js 以后,会在data.json中添加一条记录,{name:"吴彦祖"}
- 添加后的效果为:
[{"name":"小王"},{"name":"小李"},{"name":"吴彦祖"}]
此题目重点考核的就是,node.js中的绝对路径以及JSON类型的互相转换
分析:
1.读出这个文件,读出来是字符串格式的
2.JSON.parse (JSON字符串格式 )=>数组
3.数组.push()
4.重新写回去
5.转回字符串
6.覆盖写入
所以,代码如下 :
//1. 引入fs和path
const fs = require('fs')
const path = require('path')
//2. 获取data.json的路径
let dataSrc = path.join( __dirname ,'dd','/data.json')
//3. 读取文件
let readFile = readFileSync(dataSrc,'utf-8')
consle.log(readFile) //[{"name":"小王"},{"name":"小李"}] JSON类型
//4. 将JSON类型的转换为js类型,添加元素,再变回字符串类型
let res = JSON.parse(readFile)
res.push({"name":"吴彦祖"})
let reg = JSON.stringify(res)
//5. 读取文件,覆盖写入
fs.writeFileSync(dataSrc,reg)