JS JSON
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,语法与 JavaScript 对象非常相似,但更严格、通用。
JSON 基础语法
- 数据类型:支持
字符串、数值、布尔值、null、数组、对象 - 键名必须是字符串(用双引号)
- 不支持函数、undefined、Symbol
json
{
"name": "Alice",
"age": 20,
"isStudent": true,
"skills": ["JS", "HTML", "CSS"],
"info": { "city": "Beijing" }
}
JSON 与对象的转换
1. 对象 → JSON
使用 JSON.stringify()
js
const obj = { name: "Alice", age: 20 };
const jsonStr = JSON.stringify(obj);
console.log(jsonStr); // '{"name":"Alice","age":20}'
2. JSON → 对象
使用 JSON.parse()
js
const jsonStr = '{"name":"Alice","age":20}';
const obj = JSON.parse(jsonStr);
console.log(obj.name); // 'Alice'
可选参数
JSON.stringify(value, replacer, space)
replacer:控制要序列化的属性space:格式化输出,控制缩进空格
js
const obj = { a: 1, b: 2, c: 3 };
console.log(JSON.stringify(obj, ["a", "b"], 2));
/*
{
"a": 1,
"b": 2
}
*/
常见注意点
- 日期对象会被转换为字符串
undefined、函数、Symbol属性会被忽略JSON.parse()会抛出异常,需配合try...catch
js
try {
const data = JSON.parse('{"name": "Alice"}');
} catch (err) {
console.error("JSON 解析错误", err);
}