Angular读取JSON时出现Unexpected Token错误求助
解决思路
检查并修正JSON文件编码
错误中的\u0000空字符和开头的�,大概率是文件采用了UTF-16(带BOM)或其他非UTF-8编码导致的。用记事本打开文件,选择「文件」→「另存为」,编码选「UTF-8」后覆盖原文件;或者用VS Code打开,右下角切换编码为UTF-8,通过「编码保存」→「UTF-8」重新保存。清除隐藏无效字符
部分编辑器会在文件开头/末尾插入BOM、空字符等不可见内容。用VS Code开启「显示控制字符」(按Ctrl+Shift+P,输入Toggle Render Whitespace选择显示所有字符),删除开头的�、\u0000这类无效字符,确保文件第一个字符是数组起始符[。确认Angular的TS配置
若使用Angular旧版本,需在tsconfig.json中确保以下配置开启:{ "compilerOptions": { "resolveJsonModule": true, "esModuleInterop": true } }换用HttpClient加载JSON
若直接import仍有问题,尝试通过HttpClient加载文件(需将JSON放在assets目录下,并确保angular.json中配置了assets路径):import { HttpClient } from '@angular/common/http'; constructor(private http: HttpClient) {} ngOnInit() { this.http.get('/assets/your-projects.json').subscribe((data: any[]) => { // 处理包含CodigoProyecto字段的数组数据 }); }重新校验JSON语法
尽管你已验证过,但编码问题可能导致之前的校验工具误判。将内容复制到VS Code的JSON文件中,编辑器会实时提示语法错误,确保数组结构、CodigoProyecto字段的定义完全符合JSON规范。
内容的提问来源于stack exchange,提问作者kintela
相关产品推荐
相关产品推荐

