json.stringify() 是 javascript 中将对象或数组序列化为标准 json 字符串的方法,支持处理特殊值、replacer 定制字段、space 美化输出。

JSON.stringify() 是 JavaScript 中把对象或数组转换成 JSON 字符串的标准方法,核心是把 JavaScript 值序列化为符合 JSON 格式的字符串。
基本用法:直接传入对象
最简单的情况就是传一个普通对象或数组:
- const obj = { name: "张三", age: 25 };
- const str = JSON.stringify(obj);
- 结果:'{"name":"张三","age":25}'(注意:属性名和字符串值都带双引号,单引号不是合法 JSON)
处理特殊值和不可序列化的数据
JSON.stringify 对某些值会自动跳过或替换:
- undefined、function、Symbol 类型的属性会被忽略(不报错,但不出现在结果中)
- NaN 和 Infinity 转为 null
- Date 对象会调用 toISOString(),变成形如 "2023-01-01T00:00:00.000Z" 的字符串
- RegExp、Map、Set 等无法直接序列化,结果通常是空对象 "{} 或 null
使用 replacer 参数定制输出
第二个参数可以是数组或函数,用来筛选或修改要序列化的字段:
- 数组形式:JSON.stringify(obj, ["name", "city"]) —— 只保留指定键
- 函数形式:JSON.stringify(obj, (key, value) => key === "password" ? undefined : value) —— 过滤敏感字段
使用 space 参数美化输出
第三个参数控制缩进,方便阅读(开发调试常用,生产环境一般不用):
- JSON.stringify(obj, null, 2) → 每层缩进 2 个空格
- JSON.stringify(obj, null, "\t") → 用制表符缩进
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











