很多人混淆 JSON 和 JavaScript 对象。它们看似相似,实则不同。
| 特性 | JavaScript对象 | JSON |
|---|---|---|
| 键名引号 | 可省略:name: "张三" | 必须双引号:"name": "张三" |
| 值类型 | 支持函数、undefined | 仅支持:字符串、数字、布尔、数组、对象、null |
| 末尾逗号 | 允许(非严格模式) | 不允许 |
// JS对象 → JSON字符串
const obj = { name: "李四", age: 25 };
const jsonStr = JSON.stringify(obj);
// 结果:'{"name":"李四","age":25}'
// JSON字符串 → JS对象
const jsonObj = JSON.parse(jsonStr);
// 结果:{ name: "李四", age: 25 }
✅ JSON 是字符串,用于传输
✅ JS 对象是内存中的数据结构
✅ 两者通过 JSON.stringify() 和 JSON.parse() 转换