Sublime Text格式化JSON需手动设语言为JSON,先验证合法性再格式化,否则插件静默失效或破坏语义;Pretty JSON可快速定位字段级错误,中文乱码等问题多因编码或缩进配置冲突。

右下角语法必须手动切到 JSON,否则所有格式化命令都静默失效
Sublime Text 不会根据文件内容自动识别 JSON。哪怕你粘贴的是 {"code":0,"data":{"user":"张三"}},只要右下角显示的是 Plain Text 或 JavaScript,Pretty JSON: Format JSON、html_css_js_prettify 这些命令就根本不会执行——不是快捷键没绑,是插件压根不响应。
临时调试接口返回体时,标准操作流是:新建空文件 → 粘贴响应字符串 → 点击右下角语言标识 → 手动选 JSON 或 JSON with Comments(后者兼容 // 注释)。
已保存的 .json 文件也常被误识别,尤其含注释或字段名带 @ 符号时,双击打开后右下角可能显示 JavaScript,必须手动切换。
格式化前必须验证 JSON 合法性,否则插件可能原样输出或崩溃
接口返回的 JSON 常含非法内容:" 实体、BOM 头、尾部逗号、单引号键名、未转义换行符。而 JSON Reindent 只缩进不校验,遇到这些直接失败且不报错;JsFormat 会把 null 强制转成 "null" 字符串,破坏原始语义。
验证方法只有两个可靠路径:
- 浏览器控制台执行
JSON.parse(你的字符串),看是否抛出SyntaxError - 终端运行
python -m json.tool,粘贴内容后回车,合法则输出美化结果,非法则明确提示位置和错误类型
别信插件“自动修复”——SublimePrettyJson 的 Pretty JSON: Format JSON 虽能修部分错误(如缺逗号),但对 NaN、HTML 实体、BOM 等无能为力,先验再格才是稳态流程。
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
用 Pretty JSON 插件定位字段级错误比肉眼快十倍
格式化不是目的,快速发现 "user_id" 拼错成 "user_idd"、"items" 数组为空却写成 "items": null 这类字段级问题,才是联调刚需。
SublimePrettyJson 的验证功能直接给出三重线索:
- 错误信息带精确行号,如
Invalid JSON at line 27 - 错误位置高亮染色,光标一跳就到
"status": "success",后面那个多余逗号 - 提示具体类型,比如
Unexpected token }(多了一个 })或Missing closing quote(某个中文字段值漏了引号)
执行 Pretty JSON: Validate 后,它甚至会自动跳转到第一处错误行,不用手动扫屏找。
中文乱码、缩进混乱、快捷键失灵?八成是编码或缩进配置冲突
常见现象:格式化后中文变成 \u4f60\u597d,或同一文件里有的行缩进 2 空格、有的 4 空格,或 Ctrl+Alt+J 按了没反应。
根源几乎全是配置打架:
- 文件编码必须是
UTF-8,不能是UTF-8 with BOM——BOM 会让解析器在开头读到不可见字符,直接报Unexpected token - 执行
View → Indentation → Convert Indentation to Spaces,再设Indent Using Spaces宽度为统一值(推荐 2) - 在
Pretty JSON.sublime-settings中关掉detect_indentation,否则插件会按第一行猜缩进,导致混用 - 确认快捷键绑定没被其他插件覆盖:打开
Preferences → Key Bindings,搜pretty_json,确保没有重复或冲突项
接口联调时字段结构复杂、嵌套深,缩进不一致会直接掩盖层级关系,比语法错误更难排查。

















