返回

JSON 格式化

格式化

正在载入

正在加载工具

正在准备工具,暂时无法估算剩余时间。

本工具的全部运算都发生在你的浏览器中,输入内容不会发送到任何服务器。

关于这个工具

粘贴一个 JSON 值即可检查语法并整理排版。「格式化」使用两个空格缩进;「压缩」删除不必要的空白;「排序键」递归整理对象键并用两个空格缩进。数组元素顺序保持不变。工具调用浏览器的 JSON.parse 和 JSON.stringify,不上传输入内容。

常见用途

  • 展开紧凑的 API 响应,查看嵌套字段并保留数组元素顺序。
  • 移除排版空白,将 JSON 载荷复制到请求中。
  • 排序对象键后检查配置变化;此功能不是用于签名的规范化算法。

使用方法

  1. 1.将 JSON 粘贴到输入框,可输入对象、数组、字符串、数字、布尔值或 null。
  2. 2.选择「格式化」「压缩」或「排序键」。每次操作都会解析当前输入;语法出错时清空输出,并在输出上方显示错误。
  3. 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 值。

相关工具