请求本地Public目录JSON文件时出现Unexpected token ]错误求助
解决fetch请求本地JSON时出现“Unexpected token ] in JSON”错误
这个错误的核心原因是你的JSON文件存在语法错误,JSON解析器在遇到]时无法识别合法的结构,通常是以下几种情况导致:
- 数组/对象的括号不匹配:比如多写了一个
],或者对应的[缺失 - 数组元素末尾多了逗号:严格JSON不允许数组最后一个元素后加逗号,比如
["item1", "item2",]这种写法会触发解析错误 - 字符串未正确闭合或转义:比如字符串中的双引号没有用
\"转义,导致解析器提前结束字符串,误把后续内容当成非法结构
排查修复步骤:
- 直接定位错误位置:根据错误提示的行号/偏移量,找到JSON文件中对应
]的位置,检查上下文是否存在括号不匹配、多余逗号等问题 - 验证JSON合法性:把JSON内容复制到浏览器控制台,用
JSON.parse()测试,比如:
控制台会抛出更具体的错误信息,帮你精准定位问题JSON.parse(`你的JSON内容`) - 检查特殊字符与编码:确保JSON中的特殊字符(引号、反斜杠)已正确转义,同时确认文件是UTF-8编码,避免乱码导致解析异常
- 本地请求环境检查:如果是通过
file://协议直接打开HTML文件发起fetch,部分浏览器可能有跨域限制,但这个错误属于解析错误,优先排查JSON格式;若格式没问题,改用本地服务器(比如npx http-server)启动项目再测试
内容的提问来源于stack exchange,提问作者davidjmcclelland
相关产品推荐
相关产品推荐

