JSON 缩进用几个空格?

格式化 JSON 时,缩进用几个空格是开发者常纠结的问题。其实没有「绝对正确」的答案,但不同生态有约定俗成的惯例,选对了能减少团队协作的摩擦。

缩进的作用

缩进(indentation)让 JSON 的层级关系可视化。每一层嵌套向右缩进一格,父子关系一眼就能看清:

{
  "a": {
    "b": {
      "c": 1
    }
  }
}

常见的选择

缩进 特点 常见于
2 空格 紧凑,节省横向空间 JavaScript 生态(npm、VSCode 默认)
4 空格 层级更明显 Python、Java 生态
Tab 每个编辑器显示宽度可调 少数个人偏好

各生态的惯例

推荐:跟着项目走,而不是纠结对错

缩进本身不影响 JSON 的合法性(1 个空格、2 个、8 个都能正常解析),它纯粹是可读性偏好。真正重要的是团队内统一。

实用建议:

  1. 做 Web/前端/Node 项目 → 默认 2 空格。
  2. 团队已有规范 → 遵守团队规范。
  3. 没有规范 → 用 2 空格(JS 生态的主流默认)。

用 JSON Lens 一键格式化

在 JSON 在线格式化工具 里点「格式化」,会自动按 2 空格缩进输出,符合 JS 生态主流惯例。你也可以用「压缩」把它压成一行,去掉所有空格换行。

延伸阅读