nodejs实用 按行快速数据成JSON格式

94 阅读1分钟

案例,有这样一批数据,大概几千行,可以看到使用了vsocde替换已经成了这种格式,距离转换成json,末尾还差个‘:}’,如图1

如何将图1这些处理成图2?

图1 image.png

图2

image.png

使用nodejs 按行读取,再进行写操作,将数据加工格式化出来,如代码所示:

const fs = require('fs');
const readline = require('readline');
// 创建 readline.Interface 实例来读取文件
const readInterface = readline.createInterface({
input: fs.createReadStream('car copy.txt'),
crlfDelay: Infinity // 当遇到 \r\n 时,不会立即发出一个 'line' 事件,而是会延迟到下一个换行符
});
let arr = []
// 监听 'line' 事件来逐行读取文件
readInterface.on('line', (line) => {
const newLine = line.replace(":", ':"') + '"}';
arr.push(JSON.parse(newLine));
console.log(读取到一行: ${newLine});
});
// 监听 'close' 事件来知道文件读取完成
readInterface.on('close', () => {
fs.writeFileSync('./json.json', JSON.stringify(arr, null, 2), 'utf8', (err, data) => {
})
console.log('文件读取完成');
});