拿到一个 200KB 的接口返回,粘进 Sublime Text,整片灰白,一个颜色都没有,按快捷键也没找到格式化。文件后缀明明是 .json。

先在右下角看语法模式。那里如果显示 Plain Text,说明 Sublime 没认出来。点一下,选 JSON,颜色立刻就有了。这种情况多出现在文件名是 a.json.txt,或者从聊天窗口复制内容新建的未命名文件上。

格式化得装插件

Sublime 自带没有 JSON 美化功能。先装 Package Control,再装 Pretty JSON,专门处理 json,比通用格式化插件稳。

装完选中全部内容,Ctrl+Alt+J 排版,Ctrl+Alt+M 压成一行。命令面板里搜 Pretty JSON 能看到 Format、Minify、Validate 三项,第三项校验语法,报错会带行列号,比一个个数括号快得多。

大文件和编码

  • 超过 10MB 的 json 打开就卡,格式化插件还可能直接超时,用命令行工具处理更合适。
  • 中文显示成方块是编码问题,用 Reopen with Encoding 依次试 UTF-8 和 GBK。
  • 保存后中文变问号,说明保存编码不对,用 Save with Encoding 存成 UTF-8。

顺手改两个设置。default_line_ending 默认是 CRLF,和服务器上的脚本混用容易出整文件的差异;tab_size 多数前端项目用 2,Sublime 默认 4,格式化完 diff 一片红,多半就是这一项。

只是偶尔看一眼接口数据,浏览器装个 JSON 查看器插件更快。天天要改配置文件的,才值得把编辑器这套配齐。长 json 建议顺手开自动折行,几百字符一行的数组,横向拖起来很费劲。

带注释的配置另存为 .jsonc 后,Pretty JSON 格式化会直接报错,Sublime 的 JSON 语法也会把注释整段标红。这类文件先换成 JSON with Comments 语法打开,别拿校验功能去试,它只认严格 json。真要校验,先把注释删掉再跑一遍。