第 12 课

缩进、换行与可读排版

何时便于人类阅读、何时节省字节,以及团队排版约定。

JSON 不要求 token 之间有空格。缩进与换行是编辑选择——不改变解析结果,但影响人类阅读与 diff 工具的表现。

同一数据,两种外观

紧凑:

{"user":{"name":"Ada","roles":["admin","editor"]}}

缩进(2 空格):

{
  "user": {
    "name": "Ada",
    "roles": ["admin", "editor"]
  }
}

解析器视为等价;代码评审中后者更易读。

团队约定

常见标准:

  • 2 空格 — 许多 Web / JS 项目默认
  • 4 空格 — 部分企业规范
  • Tab — JSON 中较少,因多数 linter 期望空格

仓库内统一宽度,并在 CI 用格式化检查 enforce。

何时保持紧凑

  • 关注带宽的生产 HTTP 体
  • 体积受限的嵌入式配置
  • 纯机器链路、无人阅读

线上紧凑;日志或调试构建中可按需美化。

便于 diff 的排版

稳定键序 + 一致缩进,能在评审中清晰暴露变更。键序随机或空格混乱会产生噪声 diff,掩盖真实逻辑变化。

把排版当作 给人看的沟通方式,而非 JSON 数据模型的一部分。

想动手练习时,可使用 DevCove 相关工具——可选,不属于本课正文。

打开相关工具

返回课程概览