Sublime Text如何配置JSON格式化校验_Sublime JSON格式化校验配置步骤

夏强同学_1527

夏强同学_1527

2026-04-06

791人浏览

原创

推荐使用 pretty json 插件,它专为 json 设计,支持格式化、校验、折叠和错误高亮,不依赖外部命令且全平台一致;jsformat 因用 js 解析器易误报严格 json 问题,应避免混用。

sublime text如何配置json格式化校验_sublime json格式化校验配置步骤

JSON格式化插件选哪个:Pretty JSON vs. JSFormat

Sublime Text 本身不带 JSON 格式化能力,必须装插件。目前最稳定的是 Pretty JSON,它专为 JSON 设计,支持格式化、校验、折叠、高亮错误行;而 JSFormat 虽然也能处理 JSON,但底层用的是 JavaScript 解析器,遇到严格 JSON(比如尾逗号、单引号、注释)会误报或崩溃。

推荐只装 Pretty JSON,避免冲突。安装后默认快捷键是 Ctrl+Alt+J(Windows/Linux)或 Cmd+Alt+J(macOS),按一下就能格式化当前文件。

  • 如果已装了其他 JSON 相关插件(如 JSONLint 或 SublimeLinter-json),建议禁用它们,防止校验重复或快捷键打架
  • Pretty JSON 的校验是实时的:保存或手动触发时,若语法错误,会在控制台输出类似 Expecting property name enclosed in double quotes 的提示,并把光标跳到出错位置
  • 它不依赖外部命令,纯 Python 实现,所以 Windows/macOS/Linux 全平台一致,也不用配 python_path

如何让保存自动格式化 JSON 文件

默认情况下 Pretty JSON 不自动格式化,需要手动配置。打开 Sublime Text 的 Preferences → Package Settings → Pretty JSON → Settings – User,填入以下内容:

魔术橡皮擦
魔术橡皮擦

魔术橡皮擦是一款用于移除图片中多余物体、水印和杂物的在线 AI 修图工具。

下载
{
    "auto_format_on_save": true,
    "ensure_newline_at_eof_on_save": true,
    "json_sort_keys": false,
    "indent": 2
}

注意几个关键点:

  • "auto_format_on_save" 必须设为 true,否则保存没反应
  • "json_sort_keys" 默认是 false,设成 true 会按字母序重排 key,适合配置文件比对,但可能破坏语义顺序(比如 Swagger/OpenAPI 中字段顺序有含义)
  • "indent" 建议固定为 2 或 4,别用 "tab",因为 JSON 规范只认空格缩进,用 tab 可能导致某些解析器报错
  • 如果保存后没反应,检查文件是否被识别为 JSON 语法:右下角状态栏应显示 JSON,不是 Plain text 或 JavaScript;可点击切换,或用快捷键 Ctrl+Shift+P 输入 Set Syntax: JSON

校验失败但没报错?检查 BOM 和不可见字符

常见现象:JSON 看起来完全合法,Pretty JSON 却提示 Invalid control character 或直接静默失败。大概率是文件开头带了 UTF-8 BOM,或者粘贴时混入了零宽空格(\u200b)、软连字符(\u00ad)等不可见字符。

  • 用 Ctrl+Shift+P 输入 Convert to UTF-8 清除 BOM
  • 开启行末空白和不可见字符显示:View → Show White Space,然后逐行检查异常符号
  • 如果从网页或微信复制 JSON,务必先粘贴到纯文本编辑器(如记事本)中再转过来,避免富文本污染
  • Pretty JSON 不校验 JSON Schema,只做语法检查。想验证结构是否符合预期,得另配 SublimeLinter-jsonschema 并指定 schema 文件路径

多层嵌套或超大 JSON 文件卡死?调低解析深度

默认设置下,Pretty JSON 对嵌套超过 100 层或单行超长(>10000 字符)的 JSON 会变慢甚至无响应。这不是 bug,是防止栈溢出的保护机制。

  • 在 Pretty JSON 的 Settings – User 中加入:"max_recursive_depth": 50(根据实际需要调低)
  • 对超大文件(>5MB),不要用“全量格式化”,改用“选中区域格式化”:选中一段 JSON,再按 Ctrl+Alt+J
  • 如果频繁处理 GB 级日志类 JSON Lines(每行一个 JSON),建议换命令行工具,比如 jq '.' file.jsonl,Sublime 本质不适合这类场景
配置这事,关键不在装多少插件,而在搞清每个开关的实际作用。很多人卡在“为什么保存没反应”,其实只是语法识别错了,或者 BOM 没清干净。JSON 看似简单,但不可见字符、编码、嵌套深度这些细节,一不留神就绕半天。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2115

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3202

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1076

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3659

7

c++怎么把double转成int
c++怎么把double转成int

本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

2025.08.29

3908

10

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

2025.10.23

744

4

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

5707

5

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.10

2468

6

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4296

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程