JSON 格式化

输入
解析结果
 

JSON 格式化说明

使用教程

把文本贴进左侧。格式化会按两空格缩进输出到右侧;压缩会去掉多余空白,变成一行。两边都有行号,输入区会按 JSON 语法着色,方便看括号和字符串有没有写歪。出错时,按钮下方会出现解析器返回的消息,右侧被清空,改完再点一次即可。

右侧结果可以复制。原文和结果都停在这个标签页里,不会提交到服务器。大段文本会占浏览器内存,特别大的日志建议先截出需要的那一段再贴。

原理简述

解析用的是 JSON5,而不是浏览器自带的 JSON.parse。因此左侧可以带 // 与块注释、行尾逗号、没加引号的键,字符串也允许单引号。解析成功后,再用 JSON.stringify 输出。格式化传入缩进 2,压缩不传缩进,得到的是严格 JSON。

注释、多余逗号和松散写法会在输出里消失,键会被加上双引号。所以这一页适合把手写的宽松文本收成接口能接受的 JSON,不是把右侧再变回 JSON5。

相关知识

严格 JSON 不允许注释和尾逗号,很多配置文件却习惯这么写,手改时容易和接口样本对不上。先在这里收成标准 JSON,再贴进请求体或配置,能少一次「看起来对、解析失败」。本页不校验 JSON Schema,也不检查字段业务含义:语法通过,不代表邮箱、日期或必填项是对的。数字很大时,JavaScript 的安全整数范围仍是上限,超出后精度会丢,超长整型请当字符串处理。

常见问题

为什么注释贴进来后,结果里没有了?
注释只帮助左侧通过解析。输出是严格 JSON,规范里没有注释,所以会被丢掉。需要保留说明时,把说明写在 JSON 外面。
压缩和格式化的内容一样吗?
对象结构一样,空白不同。压缩适合粘进 URL 或日志;要对人读,用两空格缩进的那一版。键的顺序按解析结果,不会按字母重排。
能检查是不是符合接口文档吗?
不能。这里只判断能不能解析成值,再序列化回去。字段名、类型和必填项要靠你自己或接口返回的错误来对。