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

ReactJS调用JSON.parse报Unexpected token ' in JSON错误如何解决?

报错触发原因

标准JSON格式有严格的语法要求,其中键名和字符串类型的值必须使用双引号"包裹,你传入的待解析字符串里全部使用单引号'包裹内容,不符合JSON语法规范,因此JSON.parse()方法在解析到位置1的单引号时直接抛出语法错误。

修复方案

你可以根据实际场景选择以下任意一种方案实现需求:

  • 方案1:替换单引号为双引号后解析
    适合字符串内容本身不含单引号的场景,实现最简单:
    let code = "{'store':'AAAAAA', 'online':'BBBBB'}";
    // 全局替换所有单引号为符合JSON规范的双引号
    let standardJsonStr = code.replaceAll("'", '"');
    let actualCode = JSON.parse(standardJsonStr);
    // 可正常调用属性,输出AAAAAA
    console.log(actualCode.store);
    
  • 方案2:使用new Function转换
    适合内容本身可能包含单引号的场景,兼容性更好:
    let code = "{'store':'AAAAAA', 'online':'BBBBB'}";
    // 通过函数构造器返回对象,可兼容单引号写法的对象字符串
    let actualCode = (new Function(`return ${code}`))();
    // 可正常调用属性,输出AAAAAA
    console.log(actualCode.store);
    
  • 方案3:从源头调整字符串生成规则
    如果可以修改该字符串的生成逻辑,直接生成符合标准的JSON字符串(所有键和字符串用双引号包裹),是最稳妥的解决方案,可避免后续解析出现各类格式问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:57:04