|
前后端分离 8:后端 JSON添加数据 Author: ZeXu Soft: WebStorm || postman 前期准备: Add ``` javascript let parseData = JSON.parse(data) parseData.unshift(req.body.value) let stringifyData = JSON.stringify(parseData) ``` 注意:JSON转换数据类型.push()这样的操作不用赋值,如果赋值,被赋值的变量会是数字 ``` javascript company.post('/news/addNews', (req, res, next) => { // # 在 追加内容时,先判断该文件是否存在 let filePath = path.join(__dirname, '../company/news/news.json') fs.access(filePath, err => { // console.log(err ? '目录/文件不存在' : '文件存在,可以进行读写') if (!err) { fs.readFile(filePath, 'utf-8', (err, data) => { if (data) { let parseData = JSON.parse(data) parseData.unshift(req.body.value) parseData.forEach((item, index) => item.No = index) // # 添加编号 let stringifyData = JSON.stringify(parseData) fs.writeFile(filePath, stringifyData, err => { if (!err) { res.send({ massage: '新增成功', code: '200' }) } }) } }) } }) }) ``` Delete || UpDate ``` javascript const express = require('express'); const company = express.Router(); const path = require('path'); const fs = require('fs'); const yaml = require('js-yaml'); let ADU = (req, res, filePath, operation) => { filePath = path.join(__dirname, '../company' + filePath); fs.access(filePath, err => { if (!err) { fs.readFile(filePath, 'utf-8', (err, data) => { if (data) { let parseData = JSON.parse(data); let message = null; if (operation === 'add') { parseData.unshift(req.body.value); message = '新增成功' } else if (operation === 'delete' || operation === 'put') { parseData.some((item, index) => { // # 'item.No.toString()' 这么做是因为 delete 中 req.query.No 的参数是字符串 if (item.No.toString() === req.query.No || item.No === req.body.No) { if (operation === 'delete') { parseData.splice(index, 1) message = '删除成功' } else { parseData[index] = req.body.value message = '修改成功' } } }) } parseData.forEach((item, index) => item.No = index); // # 编号 重排 let stringifyData = JSON.stringify(parseData); fs.writeFile(filePath, stringifyData, err => { if (!err) { res.send({ massage: message, code: '200' }) } }) } }) } }) }; // # 新增 company.post('/news/addNew', (req, res, next) => { ADU(req, res, '/news/news.json', 'add') }); // # 删除 company.delete('/news/deleteNew', (req, res, next) => { ADU(req, res, '/news/news.json', 'delete') }) // # Update company.put('/news/putNew', (req, res, next) => { ADU(req, res, '/news/news.json', 'put') }) ``` |
|