JavaScript中JSON解析与序列化依靠原生JSON.parse()和JSON.stringify(),前者将符合JSON格式的字符串转为JS值(需双引号),后者将JS值转为JSON字符串(忽略函数、undefined等),二者均需注意Date、循环引用、NaN等特殊值处理。

JavaScript 中的 JSON 解析与序列化主要靠 JSON.parse() 和 JSON.stringify() 两个原生方法,它们不依赖外部库,安全、高效、浏览器和 Node.js 全支持。
JSON.parse():把字符串转成 JavaScript 对象
用于将符合 JSON 格式的字符串解析为对应的 JS 值(对象、数组、字符串、数字、布尔值或 null)。注意:JSON 键名和字符串值必须用双引号,单引号或未加引号的键会报错。
- 基本用法:JSON.parse('{"name": "Alice", "age": 30}') → 返回一个对象
- 带错误处理:建议用 try/catch 包裹,防止非法 JSON 导致脚本中断
- 可选第二个参数 reviver 函数,用于在解析过程中过滤或转换值(例如把时间字符串自动转成 Date)
JSON.stringify():把 JavaScript 值转成 JSON 字符串
将对象、数组等 JS 值序列化为标准 JSON 字符串。只处理可枚举的自有属性,函数、undefined、Symbol、BigInt 和循环引用会自动被忽略或报错。
- 基本用法:JSON.stringify({name: "Bob", active: true}) → '{"name":"Bob","active":true}'
- 第二个参数可传数组(指定需要序列化的属性名)或 replacer 函数(自定义每个值的输出)
- 第三个参数用于美化输出:传数字(缩进空格数)或字符串(如 '\t'),方便调试
常见坑与注意事项
这两个方法看似简单,但实际使用中容易踩坑:
标签: javascript java js node.js json node 浏览器 字符串解析 键值对
还木有评论哦,快来抢沙发吧~