json.parse()是标准且最安全的解析方法,需确保字符串严格符合json规范;推荐使用response.json(),手动解析时须用try/catch捕获syntaxerror,禁用eval等危险方式。

直接用 JSON.parse() 就行,这是标准且最安全的方法。
确保字符串格式合法
后端返回的必须是严格符合 JSON 规范的字符串,比如:
- 键名和字符串值都用双引号("name",不能用单引号)
- 不能有末尾逗号、注释、undefined、函数或变量
- 常见错误:后端误返回 HTML 页面(如 404 或登录页)、空字符串、null 值
基础用法示例
假设你通过 fetch 拿到响应体:
详细的 Three.js 3D 图形参考,涵盖场景设置、相机、几何体、材质、光照、动画、控制器、加载器、数学工具和调试。
fetch('/api/user')
.then(res => res.json()) // 推荐:直接用 Response.json(),它内部调用 JSON.parse 并做初步校验
.then(data => console.log(data.name));
如果已拿到原始字符串(比如从 res.text() 得到),手动解析:
const jsonString = '{"id": 1, "name": "张三"}';
const obj = JSON.parse(jsonString); // → { id: 1, name: "张三" }
处理可能的解析错误
非法 JSON 会抛出 SyntaxError,建议加 try/catch:
try {
const obj = JSON.parse(jsonString);
console.log(obj);
} catch (err) {
console.error('JSON 解析失败:', err.message);
// 可以提示用户、记录日志,或 fallback 到默认值
}
注意:别用 eval 或构造函数
虽然 eval('({a:1})') 或 Function('return ' + str)() 理论上能“执行”字符串得到对象,但极度危险——可能执行任意代码,存在严重 XSS 和安全风险,绝对不要用。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










