You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.JS如何将冒号分隔的测试文件内容转换为指定结构JSON对象

实现代码

你可以直接在文件读取成功的回调中加入如下转换逻辑,完整可运行代码:

const fs = require('fs');

fs.readFile('data.txt', 'utf8', (err, result) => {
  if (err) {
    console.log(err);
    return;
  }

  // 核心转换逻辑
  const targetArr = result
    // 按换行拆分所有行
    .split('\n')
    // 过滤空行,避免文件内的空换行干扰处理
    .filter(line => line.trim())
    .map(line => {
      // 按冒号拆分字段,同时去除每个字段首尾的双引号和空白字符
      const fields = line.split(':').map(item => item.replace(/^"|"$/g, '').trim());
      // 按顺序映射为指定结构的对象
      return {
        test: fields[0],
        value: fields[1],
        status: fields[2],
        name: fields[3],
        log: fields[4]
      }
    })

  // 输出验证结果,2为缩进空格数
  console.log(JSON.stringify(targetArr, null, 2));

  // 若需要写入为本地JSON文件,可放开下方注释
  // fs.writeFile('output.json', JSON.stringify(targetArr, null, 2), (writeErr) => {
  //   if (writeErr) console.log(writeErr);
  // })
})

逻辑说明

  1. 首先将读取到的完整文本按换行符拆分,得到每行内容组成的数组
  2. 过滤掉数组中的空行,避免示例中两行数据之间的空换行导致处理异常
  3. 逐行处理:先按冒号分割得到原始字段数组,再用正则去除每个字段首尾可能存在的双引号和多余空白
  4. 按照字段的顺序,对应映射到你要求的键名,最终组装为指定结构的对象数组

内容的提问来源于stack exchange,提问作者Utkrisht Agrawal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 12:57:01