格式化前必须确认三件事:语法模式为JSON、编码为UTF-8无BOM、内容合法(无单引号/尾随逗号/注释);Pretty JSON插件支持校验+美化+压缩,需手动配置ensure_ascii=false以显示中文,并绑定Ctrl+Alt+J快捷键。

格式化前必须确认三件事:语法、编码、合法性
Sublime 不会自动把 .json 文件当 JSON 处理,更不会帮你修复乱码或语法错误。90% 的“格式化失败”其实卡在这三点上:
- 右下角状态栏必须显示
JSON(不是Plain Text或JavaScript);点它 → 选JSON,或按Ctrl+Shift+P输入Set Syntax: JSON - 文件编码必须是
UTF-8,不能是UTF-8 with BOM;菜单栏File → Reopen with Encoding → UTF-8 - JSON 必须合法:不能有单引号、尾随逗号、
//注释、HTML 实体(如");可用浏览器控制台执行JSON.parse(你的文本)验证
Pretty JSON 插件:校验 + 美化 + 压缩,一套流程走完
装完 Pretty JSON(作者 dhg)后,它能一次性解决校验、美化、压缩三个需求,比 JSON Reindent 或 JSONPretty 更适合后端联调场景:
- 格式化命令:
Ctrl+Alt+J(Win/Linux)或Cmd+Alt+J(macOS),出错时直接弹窗提示第几行第几列非法 - 压缩(单行)命令:
Ctrl+Shift+P→ 输入Pretty JSON: Minify JSON回车,适合粘贴进curl -d或接口测试工具 - 中文不乱码:打开
Preferences → Package Settings → Pretty JSON → Settings,加一行"ensure_ascii": false - 缩进统一:设
"indent_size": 2,并关掉"detect_indentation": false,避免空格/Tab 混用
快捷键没反应?先查光标位置和命令绑定
不是插件坏了,而是 Sublime 对上下文很敏感:
- 光标不能落在字符串值内部,比如
"name": "hello|world"中的竖线位置,否则报错Invalid JSON: Expecting property name... -
Ctrl+Alt+J可能被 Emmet、输入法或其他插件占用;进Preferences → Key Bindings查用户键位文件,确认是否覆盖了{"keys": ["ctrl+alt+j"], "command": "pretty_json"} - 如果右键菜单没出现
Pretty JSON → Beautify,说明文件没被识别为 JSON 语法,或插件未正确加载(重启 Sublime 后再试)
大文件或含注释的 JSON 怎么办?别硬刚
后端返回的 mock 数据常带注释、BOM、非标准引号,Pretty JSON 默认不兼容这些——它严格遵循 RFC 7159:
- 含
//或/* */注释?用正则\/\/.*$|\/\*[\s\S]*?\*\/先全局删掉(勾选Regex模式) - 从网页复制的 JSON 带 HTML 实体?替换
"→",'→',再删多余空格 - 文件 > 1MB 时格式化卡顿?不要全选,用
Ctrl+Shift+P→Pretty JSON: Format Selection分段处理 - 实在搞不定,临时用 Python 命令修复:
python -m json.tool yourfile.json > formatted.json,再拖回 Sublime
真正麻烦的从来不是插件装不装得上,而是你拿到的那串“看起来像 JSON”的文本,到底是不是 JSON。后端给的响应体里混着注释、BOM、转义错误,才是联调中最常卡住的地方。


















