Notepad++打开JSON乱码时,先确保文件编码为UTF-8(含或不含BOM)且JSON合法,再点击“语言→JSON”启用语法高亮,最后按Ctrl+Alt+Shift+M快速美化。

Notepad++ 打开 JSON 后一片乱码,怎么快速美化?
直接用内置功能就能做,不用装插件。前提是文件编码是 UTF-8(含 BOM 或无 BOM 均可),且内容确实是合法 JSON。如果点“语言 → JSON”没反应,大概率是 Notepad++ 版本太老(JSON.parse() 都会报错,更别说格式化。
实操步骤:
- 确认内容合法:把 JSON 粘贴进 jsonlint.com 验证一下,别跳过这步
- 菜单栏点 语言 → JSON(不是“JScript”或“JavaScript”)
- 再点 插件 → Plugin Admin → 搜索 “JSON Viewer” 并安装(v7.9+ 自带,旧版必须手动装)
- 装好后,选中全部文本(
Ctrl+A),再点 插件 → JSON Viewer → Format JSON
JSON Viewer 插件点不动 / 格式化后变空 / 报错 “Invalid JSON”
不是插件坏了,是输入不满足解析前提。JSON Viewer 底层调用的是系统级 JSON 解析器,对语法零容忍。
常见卡点:
-
Unexpected token / in JSON at position 0:开头有 BOM 或不可见控制字符(比如从微信/钉钉复制来的);用 编码 → 转为 ANSI 再转回 UTF-8 无 BOM 清一遍 - 含
// 注释或/* ... */:JSON 标准不支持注释,删掉再试 - 键名或字符串用了单引号:
{'name': 'foo'}❌,必须双引号:{"name": "foo"}✅ - 末尾多逗号:
[1,2,]❌,[1,2]✅ - 值是
undefined或NaN:这些不是 JSON 合法值,得改成null或字符串
想批量格式化几十个 .json 文件,能命令行操作吗?
不能靠 Notepad++ 自身实现。它没有命令行 JSON 格式化接口,插件也不提供 CLI。但可以绕开它,用更稳更快的方式处理。
推荐方案(Windows 下):
- 装
python(带json.tool模块,默认就有),然后用命令:python -m json.tool input.json > output.json
- 或者用
jq(需单独安装):jq '.' input.json > output.json
- 如果只是想在 Notepad++ 里“伪批量”:把所有文件拖进一个窗口,用
Ctrl+Tab切换,每个都手动点一次Format JSON—— 别指望自动连击,容易误操作
格式化后中文变问号或方框,怎么恢复?
根本原因是编码识别错了。Notepad++ 有时会把 UTF-8 文件误判成 ANSI,一格式化就乱码,而且不可逆(除非你有备份)。
抢救办法(仅限刚乱码、还没保存):
- 立刻按
Ctrl+Z撤销格式化操作 - 然后点 编码 → 转为 UTF-8 无 BOM(不是“转为 UTF-8”)
- 再重新走一遍格式化流程
- 如果已经保存,且原文件没备份:试试 编码 → 从 ANSI 重新载入,看是否能还原——这招只对小概率情况有效
真正保险的做法,是把 Notepad++ 的默认新建编码设成 UTF-8 无 BOM:设置 → 首选项 → 新建 → 编码 → UTF-8 无 BOM。这个选项藏得深,但改一次管所有新文件。

















