如何在nodejs环境中将a.txt内容,转换为b.json内容

1.准备a.txt文件 如图:

2.代码实现内容:

思路:

2.1 读取a.txt文件内容

2.2 转为数组格式添加内容,并转为b.json数据格式

(1)将读取的数据字符串格式截取为数组格式,

(2)遍历数组,

(3)创建对象的name和age属性,

(4)将obj添加到数组当中, 并整理格式到newObj当中,

(5)转为json文件格式

2.3 写入到json文件当中

const fs = require('fs')  //导入fs模块
const path = require('path') //导入path模块 处理路径
// 1. 读取a.txt 文件内容
let dir = path.join(__dirname, 'a.txt')
fs.readFile(dir, 'utf8', (err, data) => {
  if (err) {
    console.log(err)
    return
  }
  console.log(data)
  //2.将字符串数据截取成数组
  let arr = data.split('\n')
  let newArr = []
  let sum = 0
  arr.forEach(item => {
    let obj = {}
    obj.name = item.split(',')[0]
    obj.age = + item.split(',')[1]
    newArr.push(obj)
    sum += obj.age
    // console.log(newArr.length);
    let newObj = {
      list: newArr,
      average: sum / newArr.length,
      total: newArr.length
    }
    // 将新对象转为json格式
    let json = JSON.stringify(newObj)
    console.log(json)
    // 3. 写入json文件名,会自动创建json文件并写入json内容
    fs.writeFile('b.json', json, (err, data) => {
      console.log('写入成功', err)
    })
  })
})

 终端检测

3.检查json文件内容

{
  "list": [
    {
      "name": "小王",
      "age": 19
    },
    {
      "name": "小李",
      "age": 20
    },
    {
      "name": "小陈",
      "age": 21
    }
  ],
  "average": 20,
  "total": 3
}

总结:在这个案例当中,用到了几个api方法:

1.forEach :遍历数组

2.split:分隔字符串为数组

3.arr.push : 添加元素到数组的末尾

4.JSON.stringify() : 将js当中的数组,对象转为json格式

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值