JSON 使用学习笔记
什么是JSON?
JSON(JavaScript Object Notation),一种轻量级的数据交换格式,易于理解和编写,广泛用于前后端通信、数据存储和配置文件等场景。
JSON基本结构
JSON由两种数据结构组成:对象和数组。
对象
对象以{}括起来,键值对之间用冒号分隔,键和值用逗号分隔。
例如:
jsonCopy Code{
"name": "Alice",
"age": 20,
"hobby": ["reading", "swimming"]
}
数组
数组以[]括起来,元素之间用逗号分隔。
例如:
jsonCopy Code[
{
"name": "Alice",
"age": 20
},
{
"name": "Bob",
"age": 22
}
]
JSON常用操作
序列化和反序列化
将对象或数组转换为JSON字符串的过程称为序列化,反之则称为反序列化。
在JavaScript中,可以使用JSON对象的方法JSON.stringify()
和JSON.parse()
实现序列化和反序列化。
例如,将上方“对象”示例转换为JSON字符串:
javascriptCopy Codeconst obj = {
"name": "Alice",
"age": 20,
"hobby": ["reading", "swimming"]
};
const jsonString = JSON.stringify(obj);
console.log(jsonString); // 输出:{"name":"Alice","age":20,"hobby":["reading","swimming"]}
反之,将JSON字符串转换为对象:
javascriptCopy Codeconst jsonString = '{"name":"Alice","age":20,"hobby":["reading","swimming"]}';
const obj = JSON.parse(jsonString);
console.log(obj); // 输出:{ name: 'Alice', age: 20, hobby: [ 'reading', 'swimming' ] }
嵌套与访问
JSON对象和数组可以无限嵌套,可以使用.
或[]
操作符访问嵌套属性或元素。
例如,访问上方“对象”示例中的name属性和hobby数组的第二个元素:
javascriptCopy Codeconst obj = {
"name": "Alice",
"age": 20,
"hobby": ["reading", "swimming"]
};
console.log(obj.name); // 输出:Alice
console.log(obj.hobby[1]); // 输出:swimming
JSON实例
以下是一个简单的JSON示例,表示一个电影列表:
jsonCopy Code[
{
"title": "The Shawshank Redemption",
"year": 1994,
"director": "Frank Darabont",
"cast": ["Tim Robbins", "Morgan Freeman"]
},
{
"title": "Forrest Gump",
"year": 1994,
"director": "Robert Zemeckis",
"cast": ["Tom Hanks", "Robin Wright"]
}
]
可以使用上述的JSON常用操作对这个电影列表进行序列化、反序列化、嵌套和访问。