格式化 JSON 时,缩进用几个空格是开发者常纠结的问题。其实没有「绝对正确」的答案,但不同生态有约定俗成的惯例,选对了能减少团队协作的摩擦。
缩进(indentation)让 JSON 的层级关系可视化。每一层嵌套向右缩进一格,父子关系一眼就能看清:
{
"a": {
"b": {
"c": 1
}
}
}
| 缩进 | 特点 | 常见于 |
|---|---|---|
| 2 空格 | 紧凑,节省横向空间 | JavaScript 生态(npm、VSCode 默认) |
| 4 空格 | 层级更明显 | Python、Java 生态 |
| Tab | 每个编辑器显示宽度可调 | 少数个人偏好 |
package.json、tsconfig.json、npm 默认生成的配置,都是 2 空格。VSCode 里 JS/JSON 文件的默认缩进也是 2 空格。缩进本身不影响 JSON 的合法性(1 个空格、2 个、8 个都能正常解析),它纯粹是可读性偏好。真正重要的是团队内统一。
实用建议:
在 JSON 在线格式化工具 里点「格式化」,会自动按 2 空格缩进输出,符合 JS 生态主流惯例。你也可以用「压缩」把它压成一行,去掉所有空格换行。