json.stringify 的 space 参数控制缩进格式:传正整数(≤10)表示空格数,传字符串(≤10字符)作前缀,传 null/undefined 或省略则输出紧凑单行。

JSON.stringify 的 space 参数专门用来控制序列化后 JSON 字符串的缩进和可读性,让输出更清晰易读。
space 传数字:用空格缩进
传一个正整数(如 2、4),表示每个层级缩进多少个空格:
- JSON.stringify(obj, null, 2) → 每层缩进 2 个空格
- JSON.stringify(obj, null, 4) → 每层缩进 4 个空格
- 超过 10 个空格会被自动截断为 10 个
space 传字符串:用自定义字符缩进
传一个字符串(长度最多 10 个字符),每层就用这个字符串做前缀:
- JSON.stringify(obj, null, "→ ") → 每层前面加 “→ ”
- JSON.stringify(obj, null, "\t") → 用制表符缩进(注意转义)
- 字符串为空("")或 null/undefined,则不缩进,输出单行紧凑格式
space 传 null 或省略:紧凑单行输出
这是默认行为,所有内容挤在一行,无换行无缩进,适合传输或存储:
- JSON.stringify(obj) 等价于 JSON.stringify(obj, null, null)
- 体积最小,但人眼难读
实际小例子
假设有个对象:
const data = { name: "Alice", hobbies: ["coding", "hiking"], address: { city: "Beijing", zip: "100000" } };
不同 space 效果:
- JSON.stringify(data, null, 2) → 缩进 2 空格 + 换行
- JSON.stringify(data, null, "--") → 每层前加 "--"
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











