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

JSON解析报错unexpected token # at position 0,求解决方案

JSON.parse()报错含'#'字符,查遍资料没找到解决方案!

我已经折腾好几个小时了,死活搞不定这个问题!翻了各种技术资料和论坛,居然没人提到过JSON.parse()的报错信息里会出现'#'的情况,真的头大到不行。

先说说我对这个方法的理解:我知道JSON.parse()就是接收一个合法的JSON字符串,然后把它转换成JavaScript对象对吧?我的操作流程是这样的:

  • 读取一个文本文件里的每一行内容
  • 把每行内容按逗号拆分成多个部分
  • 拼接出我需要的那部分数据,再把这个拼接后的字符串传给JSON.parse()
    结果每次运行到这一步就触发报错,而且错误信息里带着'#',完全摸不着头脑。

给大家看看简化后的场景:

传入JSON.parse()的内容示例:"{\"key\":\"value#123\"}"
我用到的核心代码大概是这样:

// 读取文本文件并处理
const fs = require('fs');
fs.readFile('target.txt', 'utf-8', (error, fileContent) => {
  if (error) throw error;
  
  const lines = fileContent.split('\n');
  lines.forEach(line => {
    if (!line.trim()) return;
    
    // 按逗号拆分每行内容
    const segments = line.split(',');
    // 拼接需要转换的JSON字符串部分
    const targetStr = segments[2]; // 假设取第三段
    
    try {
      const resultObj = JSON.parse(targetStr);
      console.log('转换成功:', resultObj);
    } catch (err) {
      console.error('转换失败,报错信息:', err.message);
      // 这里的报错信息里包含'#'字符,完全找不到相关问题的解决方案
    }
  });
});

我已经做了不少测试:单独把拼接好的字符串拿出来手动调用JSON.parse(),有时候居然能正常转换;也检查过文本文件里的每一行,有没有隐藏的特殊字符比如换行符、制表符,但反复排查后也没发现异常。实在不知道问题出在哪了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:22:47