推荐安装 JSON Reindent 插件,轻量专注、无需依赖、兼容 BOM 编码;快捷键建议设为 Ctrl+Shift+I 或 Ctrl+Alt+F;格式化前需确保 JSON 语法正确且编码为 UTF-8。

JSON 格式化插件装哪个才真正好用
Sublime Text 本身不带 JSON 格式化功能,必须靠插件。别装 JsFormat 或 HTML-CSS-JS Prettify —— 它们对纯 JSON 支持不稳定,容易报错或乱码。推荐只装一个:JSON Reindent,轻量、专注、无依赖。
安装方式:Ctrl+Shift+P → 输入 Package Control: Install Package → 搜 JSON Reindent → 回车。装完不用重启,立即生效。
- 它不改内容语义,只调整缩进和换行,适合处理 API 返回的原始响应体
- 不依赖 Python 环境(不像
jq或prettier需要额外配置) - 对 BOM 头、UTF-8-BOM 编码的 JSON 文件兼容性好,不会爆
UnicodeDecodeError
快捷键怎么设才不和系统/其他插件冲突
默认没绑定快捷键,得手动配。别直接设成 Ctrl+Alt+J(Windows 下常被输入法占用)或 Cmd+Shift+J(macOS 被 Chrome 抢占)。建议用 Ctrl+Shift+I(I = indent)或 Ctrl+Alt+F(F = format),这两个在绝大多数环境里是空闲的。
设置路径:菜单栏 Preferences → Key Bindings,在右侧用户文件里加这一行:
[
{ "keys": ["ctrl+shift+i"], "command": "json_reindent" }
]
- 确保只写在用户 keymap 里,不要动默认文件(否则升级 Sublime 后会丢失)
- 如果按了没反应,先检查文件语法是否合法——
JSON Reindent遇到语法错误(比如末尾多逗号、单引号)会静默失败,不报错也不格式化 - 想批量处理多个 JSON 文件?它不支持,得一个个来
格式化后中文变乱码或字段顺序错乱正常吗
正常。JSON 规范本身不保证字段顺序,JSON Reindent 用的是 Python 的 json.loads + json.dumps 流程,而 Python 3.7+ 虽然 dict 有序,但插件未显式指定 sort_keys=False,某些旧版本可能默认排序,导致字段位置变化。这不是 bug,是实现机制决定的。
- 中文乱码通常是因为文件编码不是 UTF-8:用
File → Reopen with Encoding → UTF-8先转一下再格式化 - 如果必须保持原始字段顺序(比如和某份文档严格对照),别用自动格式化,手动缩进更稳妥
- 注意:它不会补全缺失的引号或修复字符串内的换行符——那些得靠
JSONLint类工具先校验
为什么粘贴进来的 JSON 总是格式化失败
常见原因是数据里混了不可见字符:从网页复制的 JSON 常含零宽空格(\u200b)、智能引号(“” 替代 "")、或者剪贴板带了 HTML 标签残留。Sublime 不会自动清洗这些。
- 先全选 → 按
Ctrl+Shift+P→ 运行Convert to Plain Text(如果装了PlainTasks或类似插件)或手动删掉开头的<pre>类标签 - 用正则替换清理:查找
[\u200b-\u200f\u202a-\u202e],替换成空,再试格式化 - 浏览器开发者工具里右键 Copy Value 得到的 JSON 最干净,优先用那个来源
真正麻烦的永远不是怎么按快捷键,而是你拿到的那串 JSON 本身有没有被悄悄动过手脚——格式化只是最后一环,前面的数据清洁没做对,再快的快捷键也救不回来。










