美化、压缩、校验 JSON
这个工具面向手里有一段难读或可能出错的 JSON 的人:接口返回的单行响应、被截断的日志、手写的配置文件。它用浏览器自带的 JSON.parse 解析,成功后重新输出为 2 空格缩进的多行文本,或压缩成一行。它是严格的标准 JSON 校验,不是宽松解析器——不会帮你修复错误,不支持注释、单引号或尾逗号。
输入 {"id":12345678901234567890,"price":1.50,"n":1e3} 并格式化,得到三行:id 变成 12345678901234567000,price 变成 1.5,n 变成 1000。这说明工具会把数字解析成 JavaScript 的双精度浮点数再输出,而不是原样保留文本。再举一个出错的例子:输入 {"a":1,} 会得到 Expected double-quoted property name in JSON at position 7 (line 1 column 8)(在 Node 22 的引擎上实测,措辞和是否带行列号取决于你浏览器的版本)。
标准 JSON 不允许注释。tsconfig.json、VS Code 配置等 JSONC 文件常带注释,放进来会报错,需要先手动删除注释。
JSON 规定字符串和键名必须用双引号,最后一个元素后不能有逗号。{'a':1} 和 [1,2,] 都会被拒绝,这是工具有意保持与 JSON.parse 一致。
结构不变,但如上所述数字可能被规整,键顺序可能变化。只关心排版时问题不大,若要精确比对原文,请用文本对比而不是靠重新输出。
一样。两者只差空白字符,解析后得到相同的数据,所以压缩适合发送与存储,格式化适合阅读。
解析与输出都在浏览器本地完成,粘贴或上传的内容不会发送到服务器;「下载」是在本地生成文件。