pretty json插件的minify命令是唯一安全可靠的json压缩方式,通过解析后重序列化保留字符串内空格、转义符和unicode完整性,避免手动删空白导致的语义错误;必须先安装插件、设文件语法为json、光标位于合法json内容中,且仅支持完整顶层对象或数组压缩。

Pretty JSON 插件的 minify 命令是唯一可靠、语义正确的方式。手动删空格或换行会破坏字符串内的空白(比如 "name": "John Doe" 变成 "name":"JohnDoe"),根本不是合法压缩。
用 Pretty JSON 压缩 JSON 必须先装插件
没装 Pretty JSON,所有“一键转单行”的说法都是误导。它不是内置功能,也不是靠正则能安全搞定的。
- 通过
Ctrl+Shift+P(Mac 是Cmd+Shift+P)打开命令面板 - 输入
Install Package,回车后等几秒,再输入Pretty JSON并回车安装 - 装完不用重启,但得确保当前文件语法设为
JSON(右下角点开选JSON,不是JavaScript或Plain text)
Ctrl+Alt+M(Windows/Linux)或 Cmd+Alt+M(macOS)才是真压缩
这个快捷键触发的是解析后重序列化,不是简单删空白——它保留字符串内空格、转义符、注释(如果 JSON 允许)、Unicode 字符完整性。
- 光标必须在 JSON 内容里(哪怕只点一下),否则命令不可用
- 如果报错
Invalid JSON,说明原始内容语法不合法,minify会失败,得先用Format或Show Parse Errors排查 - 不支持部分选中压缩:选中一段数组或对象也无效,必须是完整可解析的 JSON 文本(顶层对象或数组)
别用查找替换硬刚,这些操作全都会出错
搜 \n 替换成空、删所有空格、用 Join Lines,看似快,实则踩坑:
-
"text": "a\nb"→ 换行被删,变成"text":"ab",语义彻底改变 -
"url": "https://example.com/path?x=1&y=2"→&被当普通字符删空格,后续解析失败 - 含 Unicode 的键名如
"姓名",某些正则模式会误判边界,导致乱码或截断 -
Join Lines不处理空行,对 JSON 完全无用;^s*$正则只能清空行,不能压缩 JSON 结构本身
压缩后验证是否真的合法
压缩完别直接交差,尤其用于 API 请求体或配置部署时:
- 再按一次
Ctrl+Alt+J(格式化快捷键)看能否还原——能还原说明压缩没损坏结构 - 终端里用
python -m json.tool验证:cat file.json | python -m json.tool > /dev/null && echo ok || echo invalid - 注意:有些工具(如
jq)对单行 JSON 更敏感,若字段含未转义引号或控制字符,minify会保留原样,但下游可能拒收
Pretty JSON 的 minify 就不会出错;其他所有“取巧”方法,都只是把问题留给下一个环节。











