JSON.parse() 解析 JSON 字符串
最后更新:2026-09-09
JSON.parse() 解析 JSON 字符串
JSON.parse 将 JSON 格式的字符串解析为 JS 值(对象/数组/数字等)。与 JSON.stringify 互逆。是处理 API 响应和 localStorage 的标准方法。
| 分类 | |
|---|---|
| ES 版本 | ES5 |
📝 语法
const 值 = JSON.parse(JSON字符串);
⚙️ 参数
| jsonString | 有效的 JSON 格式字符串。 |
|---|---|
| reviver | 可选。转换函数,对每个解析值调用。 |
返回值:解析后的 JS 值。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
张三
[ 'js', 'web' ]
解析失败:Expected property name or '}' in JSON at position 1 (line 1 column 2)
💡 提示 JSON.parse 总是配合 try/catch 使用——无效 JSON 会抛 SyntaxError。
⚠️ 警告 JSON 的键必须是双引号——单引号或无引号都会解析失败。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| JSON.parse() | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关条目
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
QJSON.parse 和 JSON.stringify 的关系?
A互逆操作:parse 把 JSON 字符串转 JS 值;stringify 把 JS 值转 JSON 字符串。
QJSON.parse 解析失败怎么办?
A用 try/catch 捕获 SyntaxError,在 catch 里返回默认值或提示错误。
QJSON 和 JS 对象的区别?
AJSON 的键必须双引号、不支持函数/undefined/注释——是严格的子集。