JSON 工具箱
格式化 / 压缩 / 转义 / 诊断,纯浏览器端处理。
处理结果
使用方法
- 在左侧粘贴 JSON 或任意文本,点上方动作按钮处理:格式化、压缩、转义、反转义、诊断。
- 「缩进」只影响格式化,可选 2 或 4 个空格;「加载示例」「异常示例」一键填入演示数据。
- 出错时提示会指出行号与列号;处理完成即可复制或下载,⇄ 按钮可把结果换到输入框继续处理。
示例
输入
{"订单号":"A-2026-001","客户":{"姓名":"李娜","城市":"上海"},"金额":1299.5,"已支付":false}格式化结果
{
"订单号": "A-2026-001",
"客户": {
"姓名": "李娜",
"城市": "上海"
},
"金额": 1299.5,
"已支付": false
}默认规则(2 空格):中文键名与小数金额原样保留,只调整空白。示例读数为 9 行、深度 2、6 个键。
规则、局限与已知问题
- 严格按 RFC 8259 校验:注释、末尾逗号、单引号、裸键、NaN、Infinity 都会被拒绝,提示直接说明该改什么,而不是抛解析器原文。
- 格式化与压缩只改空白:字符串转义、数字字面量与带引号的键原样输出——"\u00e9" 仍是 "\u00e9",12345678901234567890 不失真,1e400 不会变成 null,-0 保持 -0。
- 重复键保留最后一个值(与 JSON.parse 取值一致),并给出警告;前面那个值会被丢弃。
- 「转义」把整段输入原样编码成一个 JSON 字符串字面量(引号、反斜杠与控制字符被转义,其余字符不改写);「反转义」支持带引号的完整字符串(严格校验)与裸转义序列两种形式。
- 「诊断」只校验与统计(字符数、行数、深度、键数),不产出格式化结果;诊断有效但存在重复键时同样给出警告。
- 行列号按 Unicode 码点计,emoji 记 1 列;只有空格、Tab、换行、回车算空白,全角空格 U+3000 与不换行空格 U+00A0 会带码位报错。
- 上限 100 万字符与 512 层嵌套:超过即报错,不截断。文件上传只读取本地文件内容,同样不上传。
- 不做 JSON→YAML/XML/CSV、JSON Schema、JSONPath、树视图;不支持 URL 传参、历史记录。所有处理都在浏览器内完成,内容不上传、不保存。
相关工具
JSON 处理完之后,通常还会用到。