Windows下用act与yaml-schema-checker加载JSON遇SyntaxError求助
解决JSON加载时的
SyntaxError: Unexpected token � in JSON at position 0问题 在Windows环境下使用act配合yaml-schema-checker工具时,加载一段结构合法的JSON文件却触发上述错误,该JSON内容如下:
{ "$schema": "http://json-schema.org/draft-04/schema#" }
且该JSON已通过在线JSON验证工具确认有效,但解析时始终提示开头存在异常字符,可尝试以下解决方案:
修正文件编码:Windows系统默认保存的UTF-8文件常带有BOM(字节顺序标记),而多数JSON解析器无法识别BOM,会将其视为非法字符。将文件转为无BOM的UTF-8编码:
- VS Code:打开文件后点击右下角编码标识(如
UTF-8 with BOM),选择「通过编码保存」,再选择「UTF-8」; - Notepad++:依次点击「编码」→「转为UTF-8无BOM格式」,保存即可。
- VS Code:打开文件后点击右下角编码标识(如
排查不可见字符:文件开头可能存在零宽空格、全角空白等不可见字符,开启文本编辑器的显示所有字符功能检查:
- VS Code:按下
Ctrl+Shift+P,输入「控制字符可见性」并开启; - Notepad++:点击「视图」→「显示符号」→「显示所有字符」,找到并删除开头的异常字符。
- VS Code:按下
检查act的文件读取逻辑:Windows的路径格式或文件权限可能导致act读取文件时引入异常内容:
- 尝试使用绝对路径指定JSON文件;
- 确保文件未被其他程序占用或篡改。
内容的提问来源于stack exchange,提问作者CG-SS
相关产品推荐
相关产品推荐

