JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据传输和存储。它使用人类可读的文本来表示结构化数据,以键值对的方式表示对象,并支持数组、字符串、数字、布尔值等基本数据类型。
JSON的语法规则简单明了:
- 键值对使用冒号分隔,每个键值对之间使用逗号分隔。
- 大括号{}用于表示对象,对象中的键值对无固定顺序。
- 方括号[]用于表示数组,数组中的元素按照顺序排列。
以下是一个JSON示例:
{
"name": "John",
"age": 30,
"isStudent": true,
"hobbies": ["reading", "coding", "swimming"]
}
在JavaScript中,我们可以使用内置对象JSON进行JSON的解析和操作。
常用的JSON相关方法如下:
JSON.stringify(obj):
将JavaScript对象转换成JSON字符串。
var obj = {name: "John", age: 30};
var jsonStr = JSON.stringify(obj);
JSON.parse(jsonStr):
将JSON字符串转换为JavaScript对象。
var jsonStr = '{"name":"John","age":30}';
var obj = JSON.parse(jsonStr);
obj[key]:
访问JSON对象中的值。
var obj = {"name": "John", "age": 30};
console.log(obj.name); // 输出 "John"
obj.key:
也可以使用点语法来访问JSON对象中的值,但要求键名必须是合法的标识符。
var obj = {"name": "John", "age": 30};
console.log(obj.name); // 输出 "John"
JSON中也支持嵌套对象和嵌套数组的表示。
var obj = {
"name": "John",
"address": {
"city": "New York",
"country": "USA"
},
"hobbies": ["reading", "coding", "swimming"]
};
console.log(obj.name); // 输出 "John"
console.log(obj.address.city); // 输出 "New York"
console.log(obj.hobbies[0]); // 输出 "reading"
需要注意的是,在使用 JSON.parse()解析JSON字符串时,字符串必须符合JSON格式的语法规范,否则会导致解析错误。在操作JSON时,应确保键名和字符串均使用双引号括起来,并且不支持注释的写法。