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

如何将私有API文本文件转换为JavaScript键值对对象?

将文本文件转换为JavaScript对象

输入文本内容

Kevin
25
Mary
24

期望输出

{
  Kevin: "25",
  Mary: "24"
}

实现方案

Node.js 环境(读取本地文件)

如果是在Node.js环境下处理本地文本文件,可使用内置fs模块读取内容后转换:

const fs = require('fs');

fs.readFile('data.txt', 'utf8', (err, data) => {
  if (err) {
    console.error('读取文件失败:', err);
    return;
  }

  // 分割内容为行数组,过滤空行
  const lines = data.split('\n').filter(line => line.trim());
  const result = {};

  // 每两行一组生成键值对
  for (let i = 0; i < lines.length; i += 2) {
    const key = lines[i].trim();
    // 处理可能的奇数行情况,避免报错
    const value = lines[i + 1]?.trim() ?? '';
    result[key] = value;
  }

  console.log(result);
});

浏览器环境(处理上传文件)

如果是在浏览器中处理用户上传的文本文件,可使用FileReader API:

<input type="file" id="fileInput" accept=".txt">
<script>
document.getElementById('fileInput').addEventListener('change', (e) => {
  const file = e.target.files[0];
  if (!file) return;

  const reader = new FileReader();
  reader.onload = (event) => {
    const lines = event.target.result.split('\n').filter(line => line.trim());
    const result = {};

    for (let i = 0; i < lines.length; i += 2) {
      const key = lines[i].trim();
      const value = lines[i + 1]?.trim() ?? '';
      result[key] = value;
    }

    console.log('转换后的对象:', result);
  };
  reader.readAsText(file);
});
</script>

核心逻辑说明

  1. 将文本内容按换行符分割为数组,过滤空行以避免无效内容干扰
  2. 以步长为2遍历数组,将第i个元素作为对象的键,第i+1个元素作为对应值
  3. 用可选链操作符(?.)和空值合并运算符(??)处理文本行数为奇数的情况,防止报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 18:40:39