Menu

JSON 格式化工具

格式化、校验和浏览 JSON,并实时显示树状视图。

作者 Nethanel Bar, Co-founder & CEO

最后更新

准备好真正学会编程了吗?

Coddy 让你在浏览器里编写真实代码来学习:互动课程、即时反馈,卡住时还有 AI 帮忙。

JSON 格式化工具是什么?

JSON 格式化工具(也叫 JSON 美化工具)能把紧凑或杂乱的 JSON 变成易读、带缩进的数据。它是开发者最常用的工具之一:查看 API 响应、阅读配置文件、调试日志、对比测试数据,以及在前后端代码之间传递数据时都会用到。

JSON 是一种严格的格式:键必须用双引号,字符串必须用双引号,逗号必须放对位置,每个开头的 { 或 [ 都必须闭合。格式化工具让这种结构一目了然,内置的校验器则会在语法出错时准确告诉你哪里出了问题。

JSON 是 JavaScript Object Notation(JavaScript 对象表示法)的缩写。它虽然源自 JavaScript,但几乎所有编程语言都内置了读写 JSON 的支持,因此成了 Web 上交换结构化数据的默认方式。

使用时你会学到什么

  • 对象用 {} 表示带名字的字段,数组用 [] 表示有序列表,两者可以任意层级地相互嵌套。
  • 美化后的 JSON 和压缩后的 JSON 是同一份数据:空白只影响可读性,不影响含义。服务器通常返回压缩过的 JSON 以节省字节。
  • JSON 的值只有六种类型:字符串、数字、布尔值、null、对象和数组。没有 undefined,没有函数,也没有注释。
  • 校验错误通常会指向问题附近,但真正的错误(未闭合的括号、缺少的引号)可能在前面几个字符。

如何一步步格式化 JSON

  1. 把 JSON 粘贴到输入框

    从 API 响应、日志文件或配置中复制 JSON,粘贴到左侧。格式化工具既接受压缩过的输入,也接受部分格式化的输入。

  2. 选择缩进宽度

    两个空格是最常见的风格,四个空格也很常用。选择与你项目现有风格一致的那种。

  3. 查看校验结果

    如果 JSON 有效,格式化后的输出会显示在右侧。如果无效,错误信息会告诉你解析失败的行号和字符位置。

  4. 浏览树形视图

    用可折叠的树形视图收起层层嵌套的对象和数组。这是弄清一个陌生 API 响应结构的最快方法。

  5. 复制或压缩结果

    把美化后的版本复制到你的代码或文档中,或者把它压缩回一行,用于存储和网络传输。

JSON 语法速查表

JSON 的全部组成部分。不在这张表里的东西都不是有效的 JSON。规范:RFC 8259 和 ECMA-404。

符号含义示例
{ }对象:键/值对的集合{"name": "Maya"}
[ ]数组:有序的值列表[1, 2, 3]
"..."字符串:总是用双引号括起来"hello"
数字整数或浮点数,不加引号,开头不能有 +42, -3.14
true / false布尔值,小写true
null空值 / 缺失的值null
:键与值之间的分隔符"id": 7
,各项之间的分隔符,末尾绝不能有[1, 2, 3]

可以试试的 JSON 示例

美化一个典型的 API 响应

输入
{"user":{"id":7,"name":"Maya"},"skills":["HTML","JavaScript"]}
格式化后
{  "user": {    "id": 7,    "name": "Maya"  },  "skills": ["HTML", "JavaScript"]}

格式化之后,嵌套的 user 对象和 skills 数组扫一眼就能看清。数据完全一样,变的只是空白。

揪出末尾多余的逗号

无效
{  "name": "Coddy",  "active": true,}

JSON 不允许在最后一个属性后面加逗号。校验器会标出结尾的 }。把 JavaScript 对象语法复制到 JSON 里时,这是最常见的错误之一。

比较值的类型

输入
{  "count": 3,  "countText": "3",  "enabled": true}

3 是数字,"3" 是字符串,true 是布尔值:三种不同的 JSON 类型。结构正确但某个值的类型错了,往往就是 API 出错的原因。

阅读层层嵌套的响应

输入
{  "data": {    "orders": [      { "id": 101, "items": [{ "sku": "A", "qty": 2 }] },      { "id": 102, "items": [] }    ]  }}

用树形视图收起 data.orders,一层一层地看清结构。嵌套的对象数组是 REST 响应中最常见的模式。

常见的 JSON 错误

  • 键或字符串用了单引号而不是双引号:JSON 只允许双引号。
  • 把 JSON 当成 JavaScript 对象:注释、函数和 undefined 在 JSON 中都无效,末尾多余的逗号也会导致解析失败。
  • 忘了 JSON 中的数字开头不能有 +,不能有前导零(0 本身除外),如果想要数字类型也不能用引号括起来。
  • 把令牌、客户数据或生产环境的密钥粘贴到会上传输入内容的工具里。Coddy 的格式化工具在本地运行,所以是安全的,但使用第三方网站前一定要先确认。

JSON 格式化常见问题

JSON 是什么?

JSON(JavaScript Object Notation)是一种轻量级的结构化数据文本格式。它使用键值对和数组,几乎所有编程语言都支持它,因此成了 Web API、配置文件和消息载荷的默认格式。

怎么格式化 JSON?

把 JSON 粘贴到 JSON 格式化工具中,选择缩进宽度(通常是 2 个空格),工具就会用换行和缩进重新输出同一份数据。大多数格式化工具会在同一步里校验语法。

JSON 格式化工具和 JSON 校验工具有什么区别?

格式化工具把有效的 JSON 变成更易读的排版。校验工具首先检查 JSON 语法是否有效。好的 JSON 工具两者都能做。

美化 JSON 会改变数据吗?
不会。美化只会添加缩进和换行,键、数组、字符串、数字、布尔值和 null 值都保持不变。再压缩回去,就能还原成原来便于网络传输的形式。
为什么我的 JSON 看起来像 JavaScript 对象,却解析失败?
JSON 比 JavaScript 对象语法更严格。键和字符串必须用双引号,JSON 不能包含注释,也不允许末尾多余的逗号、单引号和 undefined。
开发者每天在哪些地方用到 JSON?
JSON 无处不在:REST 和 GraphQL 的响应、请求体、配置文件(package.json、tsconfig.json)、包的元数据、日志行、浏览器本地存储和测试数据。

了解更多

其他开发者工具

Coddy 编程语言插图

和 Coddy 一起学编程

开始