跳转到主内容
极星编程网:以代码为星,赴技术山海!

如何在VSCode中将一长串JSON数据快速格式化展开

VSCode中JSON字符串粘贴后乱码或单行,需先切换语言模式为JSON,再用Shift+Alt+F(Win/Linux)或Shift+Option+F(macOS)格式化;若无效,检查语法错误、格式化器配置或改用jq等外部工具。 JSON字符串粘贴后直接变乱码或单行? VSCode默认不会自动格式化剪贴板里的JSON字符串,尤其是从浏览器控制台、日志或邮件里复制过来的
{"name":"alice","scores":[95,87]}
这种没换行没缩进的文本。它会原样塞进编辑器,看着像一坨密文。 解决方法很简单:选中整段JSON(快捷键
Ctrl+A
或
Cmd+A
),然后按
Shift+Alt+F
(Windows/Linux)或
Shift+Option+F
(macOS)。前提是当前文件语言模式是
JSON
——如果右下角显示的是
Plain Text
,先点它,选
JSON
。 别用
Ctrl+Shift+I
,那是开发者工具快捷键,VSCode里无效 如果按了没反应,大概率是语言模式不对,或者装了冲突的格式化插件(比如Prettier没配JSON支持) 临时切语言模式比改文件后缀更快:快捷键
Ctrl+K M
→ 输入
json
回车 JSON内容混在JavaScript/HTML里怎么单独格式化? 比如你复制了一段
fetch
响应体:
response.json() // {"user":{"id":1,"tags":["admin","beta"]}}
,直接选中整个字符串再格式化会失败——VSCode识别为JS代码,不是纯JSON。 得先把JSON部分“抠出来”:双击字符串内容(注意别点到引号外),按
Ctrl+Shift+P
(命令面板),输入
Format Document
,但要先确保此时光标在被选中的字符串内部,且语言模式已手动切为
JSON
。 更稳的办法:复制JSON字符串 → 新建空白文件 → 粘贴 →
Ctrl+K M
→ 选
JSON
→
Shift+Alt+F
别试图用正则替换加换行,容易把字段值里的
\n
也误处理 如果JSON里有注释(如
// todo
),VSCode原生JSON格式化会报错
Unexpected token / in JSON
,必须删掉注释再操作 为什么有时
Shift+Alt+F
没反应,或格式化后缩进错乱? 常见原因就两个:格式化器没启用,或者配置项冲突。VSCode本身不带JSON格式化引擎,依赖内置的
jsonc
支持或第三方插件(如Prettier)。 VSCode 1.118 微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。 下载 检查路径:
Settings → Text Editor → Formatting → Format On Save
关掉它,避免保存时意外覆盖;重点看
Default Formatter for JSON
是否设为
vscode.json-language-features
(推荐)。 如果用了Prettier,确认其配置里
"json.enable": true
已开启,否则它会跳过JSON文件 缩进异常(比如全用空格但显示4格,实际想2格):查
editor.tabSize
设置,JSON格式化器会尊重这个值,而不是自己定 遇到
Failed to format document
错误,八成是JSON语法不合法,用
Ctrl+Shift+P → JSON: Validate
快速定位哪一行少了个逗号或引号 超大JSON文件(>10MB)卡死或崩溃? VSCode对大文件的语法高亮和格式化是懒加载的,但
Shift+Alt+F
会尝试解析整棵树,内存扛不住就会无响应甚至退出。 绕过去的方法:终端里用
jq
命令行工具,不依赖编辑器。先确认已安装
jq
(macOS用
brew install jq
,Windows用
choco install jq
),然后在文件所在目录运行:
jq '.' input.json > formatted.json
这比VSCode快得多,也更稳。 如果连
jq
都不想装,浏览器也能救急:打开
data:text/html,
,粘贴JSON进去回车 VSCode里打开大JSON前,建议先禁用所有非必要插件,特别是那些带“JSON Schema”“Auto-complete”的,它们会在后台偷偷解析 别用
Format Selection
去处理大JSON片段——它照样会尝试完整解析上下文,和全选没区别 真正卡住你的往往不是功能找不到,而是语言模式没切对、JSON本身有隐藏语法错误、或者根本没意识到VSCode对大文件的处理边界在哪。这些地方不盯住,按一百遍
Shift+Alt+F
也没用。

相关文章