Sublime Text 需通过 Package Control 安装 JSON Reindent 插件实现 JSON 格式化,支持 UTF-8 和缩进控制;安装后对 .json 文件全选并执行右键菜单或 Ctrl+Alt+J 即可格式化,但不校验语法错误。

Sublime Text 本身不内置 JQL 插件,也没有叫 JQL 的通用 JSON 格式化插件——你大概率是记混了名字,实际想找的是 JSON 格式化功能,或者误把 JSONLint、JsFormat、SublimeLinter-jshint(用于 JavaScript)或 Jira 相关的查询工具(如 JQL 是 Jira Query Language,和 JSON 无关)搞混了。
怎么在 Sublime 安装真正能格式化 JSON 的插件
Sublime 上最常用、稳定、支持 UTF-8 和缩进控制的 JSON 格式化插件是 JSON Reindent 或 JSFormat(后者也支持 JSON)。推荐优先用 JSON Reindent,轻量且专一:
- 打开 Sublime →
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)调出命令面板 - 输入
Package Control: Install Package并回车 - 等待列表加载后,输入
JSON Reindent,选中并回车安装 - 安装完成后,打开一个
.json文件,全选内容(Ctrl+A),右键 →JSON Reindent,或按Ctrl+Alt+J(默认快捷键)
注意:JSON Reindent 不校验语法,只格式化。如果 JSON 本身有语法错误(比如末尾多逗号、单引号代替双引号),它会直接报错不处理——这是正常行为,不是插件坏了。
为什么装了插件却没反应?常见原因
格式化失败往往不是插件问题,而是环境或操作细节卡住了:
- 文件未保存为
.json后缀,或 Sublime 没识别为 JSON 语法(右下角状态栏应显示JSON;如果不是,点击那里 →Open all with current extension as… → JSON) - JSON 内容含非法字符(如 BOM 头、不可见控制符),可先用
Ctrl+Shift+P→Convert Line Endings to Unix或粘贴到在线 JSON 验证器(如jsonlint.com)确认有效性 - 快捷键冲突:检查是否被其他插件占用,可在
Preferences → Key Bindings中搜索json_reindent确认绑定 - 用了
JSFormat却误传了非标准 JSON(例如用了单引号或尾逗号),它会当作 JS 解析失败,此时换JSON Reindent更稳妥
想校验 + 格式化一体化?试试 JSONLint + 自定义 build
如果需要边格式化边报错(比如 CI 场景或严格协作),可以搭配 JSONLint 插件 + 手动 build system:
- 通过 Package Control 安装
JSONLint - 安装完成后,
Ctrl+Shift+P输入JSONLint: Validate可检查当前文件 - 若要一键「校验→修复→格式化」,需额外配置 build system:新建
Tools → Build System → New Build System,填入:
{
"cmd": ["python", "-m", "json.tool", "$file"],
"selector": "source.json",
"file_regex": "^(.*?):([0-9]+):([0-9]+):(.*)$"
}
保存为 JSON Format.sublime-build,之后按 Ctrl+B 就能用 Python 原生命令格式化(依赖系统已装 Python),错误会直接定位到行列。
真正容易被忽略的点:JSON 格式化插件不解决数据语义问题——比如字段名拼错、值类型不符合 API 要求、嵌套层级逻辑错误。它们只管语法结构。上线前仍需结合业务规则人工核对或加 Schema 校验。










