pretty json: validate 更适合“一键修复”场景,因其内置解析器、即时触发、无需外部依赖、支持选中文本验证,而 sublimelinter-jsonlint 需配置 cli 工具且易出错。

Sublime Text 本身不检查也不修复 JSON 语法错误——哪怕你漏了逗号、多写了逗号、用了单引号或注释,它都安静如初。所谓“一键检查并修复”,全靠插件配合,且必须选对插件、配对模式、用对命令。
为什么 Pretty JSON: Validate 比 SublimeLinter-jsonlint 更适合“一键修复”场景
Validate 命令是即时触发的,不依赖保存、不依赖外部 CLI 工具,出错直接跳转到行首、高亮错误字符、状态栏显示具体报错(比如 Unexpected token ','),而 SublimeLinter 系列需要先装 jsonlint 或 jq,还要处理路径、权限、Node.js 版本等问题,容易卡在“已装插件但没反应”上。
-
Pretty JSON内置解析器,校验逻辑跑在 Sublime 进程内,无需调外部命令,响应快、无环境依赖 - 它支持“选中一段文本”后验证,不一定要整个文件,适合粘贴过来的 API 响应体、配置片段等临时内容
- 格式化命令
Pretty JSON: Pretty JSON(默认快捷键Ctrl+Alt+J)在多数情况下会自动修正尾随逗号、补全引号、对齐括号——不是万能,但对常见手误足够有效 - 注意:它不支持 JSONC(带
//注释的 JSON),若文件含注释,请先手动删掉或换用SublimeLinter-jsonc
Pretty JSON 安装后没反应?重点检查这三处
装完插件却找不到 Pretty JSON: Validate 命令,或执行后无反馈,大概率不是插件坏了,而是环境没对齐。
- 右下角状态栏必须显示
JSON,不是Plain text或JavaScript;点击状态栏 →Set Syntax → JSON - 确认文件编码是
UTF-8(非UTF-8 with BOM),BOM 头会导致解析失败,状态栏会显示UTF-8-BOM,需用File → Reopen with Encoding → UTF-8重载 - 如果文件里有
undefined、NaN、Infinity或未加引号的 key(如{a: 1}),Pretty JSON会直接报not a valid json——它只认标准 JSON,不兼容 JS 对象字面量
修复失败时,别硬试格式化,先看错误类型再动手
Pretty JSON: Pretty JSON 不是万能橡皮擦。它能修的,主要是缩进混乱、括号不匹配、末尾多余逗号;修不了的,是语义错误或非法值。
- 报错
Unexpected token '}':通常是前一行多了逗号,定位到上一行末尾检查 - 报错
Expected double-quoted property name:key 没用双引号包裹,比如写成了{name: "x"},得改成{"name": "x"} - 报错
Invalid escape character:字符串里用了但没转义,比如"path oile"应为"path\to\file"或用正斜杠 - 如果格式化后把
null变成"null",说明你误用了 JS 格式化插件(如JsFormat),立刻停用,只保留Pretty JSON
真正容易被忽略的是:JSON 标准不允许尾随逗号、不允许单引号、不允许注释、不允许未引号 key——这些不是 Sublime 的 bug,是规范本身。插件再强,也不能绕过标准。校验通过 ≠ 业务可用,还得看下游系统是否接受宽松解析。











