返回
JSON 格式化
格式化
正在载入
正在加载工具
正在准备工具,暂时无法估算剩余时间。
本工具的全部运算都发生在你的浏览器中,输入内容不会发送到任何服务器。
关于这个工具
粘贴一个 JSON 值即可检查语法并整理排版。「格式化」使用两个空格缩进;「压缩」删除不必要的空白;「排序键」递归整理对象键并用两个空格缩进。数组元素顺序保持不变。工具调用浏览器的 JSON.parse 和 JSON.stringify,不上传输入内容。
常见用途
- 展开紧凑的 API 响应,查看嵌套字段并保留数组元素顺序。
- 移除排版空白,将 JSON 载荷复制到请求中。
- 排序对象键后检查配置变化;此功能不是用于签名的规范化算法。
使用方法
- 1.将 JSON 粘贴到输入框,可输入对象、数组、字符串、数字、布尔值或 null。
- 2.选择「格式化」「压缩」或「排序键」。每次操作都会解析当前输入;语法出错时清空输出,并在输出上方显示错误。
- 3.核对输出后点击复制按钮。「清空」会同时清除输入、输出和错误。
输入输出示例
格式化:两个空格缩进
{"name":"Ada","active":true}{
"name": "Ada",
"active": true
}左侧为输入,右侧为输出。数组元素顺序保持不变。
压缩:删除空白
{
"items": [2, 1],
"ok": true
}{"items":[2,1],"ok":true}左侧为输入,右侧为输出。数组元素顺序保持不变。
排序键:嵌套对象
{"z":1,"a":{"d":4,"b":2},"items":[3,1]}{
"a": {
"b": 2,
"d": 4
},
"items": [
3,
1
],
"z": 1
}左侧为输入,右侧为输出。数组元素顺序保持不变。
常见错误
- 缺少右花括号或右方括号会导致解析失败,需检查嵌套对象和数组是否闭合。
- 字符串内不能直接换行,应使用 \n 转义。
- undefined、NaN 和 Infinity 不是 JSON 值,工具不会自动把它们修复为其他值。
限制与说明
- 本工具没有文件导入、下载、JSON Schema 校验或自动修复功能。JSON5 与注释需用其他工具处理。
- 无法安全表示的 JSON 数字在解析前拒绝,请将精确 ID 写成字符串。
- 对象出现重复键时仅保留最后一个值。序列化可能改变数字写法和转义形式。
- 排序按字符串比较键名,但整数索引键仍按 JavaScript 规则以数字顺序输出。过大或嵌套过深的输入可能超过浏览器内存或递归限制。
- 不安全或非有限 JSON 数字在解析前拒绝,请改成字符串;排序保留合法自身字段,包括 __proto__。切换语言保留本页内存草稿,不写入存储。
常见问题
为什么注释、单引号和末尾逗号会报错?
本工具接受 JSON,不接受 JavaScript 对象字面量。键名和字符串必须用双引号,需移除注释以及最后一个属性或数组元素后的逗号。
格式化成功就说明 API 参数正确吗?
不能。这里只检查 JSON 语法,不检查必填字段、Schema 类型要求或业务规则。
可以改为四个空格或 Tab 缩进吗?
不可以。「格式化」和「排序键」固定使用两个空格;「压缩」输出不带排版空白的 JSON 值。