天天看点

Node.js 简单案例2,将一个文件内容转为json格式的文件

案例目标

Node.js 简单案例2,将一个文件内容转为json格式的文件
Node.js 简单案例2,将一个文件内容转为json格式的文件

JSON文件初始为空,运行c.js文件后,将a的文件内容转为图中b的内容格式.

案例代码

// 分析
// 1.读入数据
// 2.数据处理
// 1.将字符串截取为数组
// 2.遍历循环数据,插到对象里面
// 3.定义求和与长度
// 3.写入数据
// 定义fs path模板
let fs = require('fs')
let path = require('path')
// 定义空数组,用来接收处理的数据
let list = []
// 定义空对象,用来接收完整数据
let re = {}
// 定义求和变量
let sum = 0
// 定义平均值
let average = 0
// 定义长度,总和除长度 = 平均数
let total = 0
// 1. 读入数据
fs.readFile(path.join(__dirname, 'a.txt'), 'utf8', (err, data) => {
    if (err) {
        console.log('err', err)
        return
    }
    // console.log(data)
    // 处理数据,转为数组
    let a = data.split('\r\n')
    // 接收length长度
    total = a.length
    // 2.处理数据
    a.forEach((item, index) => {
        // 定义对象,接收数据
        let obj = {
            // 接收姓名
            name: item.split(',')[0],
            // 接收年龄
            age: item.split(',')[1],
        }
        // 将对象插入到定义的list对象中
        list.push(obj)
        // 求和
        sum += +item.split(',')[1]
    })
    // 求平均值
    average = sum / total
    // 组合最终对象
    re = {
        list,
        average,
        total,
    }
    // 转为json字符串
    re = JSON.stringify(re)
    // 写入数据
    fs.writeFile(path.join(__dirname, 'b.json'), re, 'utf8', (err, data) => {
        if (err) {
            return
        }
        console.log(data)
    })
})
           

继续阅读