JSON 格式化与压缩 — 带语法验证
粘贴任意 JSON, 选 2/4/8 空格缩进美化, 或压缩到一行。无效 JSON 会显示解析错误便于快速定位问题。
{
"hello": "world",
"items": [
1,
2,
3
]
}工作原理
本工具的功能
JSON 是严格格式 — 每个引号、逗号、括号都必须正确。浏览器和 API 在错误时返回晦涩的「Unexpected token」消息。本工具用浏览器原生 JSON 解析器解析输入, 然后重新序列化为美化 (带缩进) 或压缩 (无空白) 格式。
解析失败时直接显示底层错误(通常带位置), 便于快速定位缺失的逗号、未转义引号、末尾逗号等问题。
格式化与压缩
格式化(美化): JSON 阅读的标准方式。JavaScript 圈惯用 2 空格, Python/Java 圈常用 4 空格。按项目惯例选择。
压缩(minify): 折叠成无空白的一行。在 URL 中嵌入 JSON、环境变量、空白敏感场景有用。典型美化配置文件压缩后缩小 20-40%。
JSON 常见陷阱
末尾逗号。JavaScript 允许, JSON 不允许。{a:1, b:2,} 在编辑器里通过但发往网络时失败。
单引号。JSON 要求键和字符串值都用双引号。{'a': 1} 无效, {"a": 1} 正确。
注释。JSON 没有注释。// 或 /* */ 会破坏解析。VS Code 配置使用的 JSONC 支持注释但非标准 JSON。
数字。JSON 不支持 NaN 或 Infinity。用 null 或字符串包裹, 视下游消费方而定。
常见问题
›支持 JSONC (含注释 JSON) 吗?
暂不。先去除注释或用支持 JSONC 的工具。
›大小限制?
现代浏览器能处理几 MB JSON, 不过文本框可能在 ~1 MB 后变慢。巨大文件用桌面工具。
›为什么我的 JSON 无效?
最常见: 末尾逗号、单引号、字符串内未转义引号。解析器错误会指出列位置。
›可以按字母顺序排序键吗?
本版未支持。粘贴到支持排序的工具(如 jq --sort-keys) 最干净。后续可能添加。
›处理深嵌套 JSON?
可以。浏览器 JSON 解析器处理任何实用深度。
›为什么压缩 1 MB 不变成 1 字节?
压缩只去除空白, 实际数据保留。真正的体积压缩用 gzip 或 MessagePack 等二进制格式。
›数据会上传吗?
不会。所有解析与格式化在浏览器内。
›JSON Schema 验证呢?
本工具仅语法验证。Schema 验证用专门的 JSON Schema 验证器加你的 schema 文件。
相关工具
最后更新: