JSON 是 JavaScript Object Notation 的缩写。JSON 是一种基于文本的数据格式,用于存储和传输数据。例如,
// JSON syntax
{
"name": "John",
"age": 22,
"gender": "male",
}
在 JSON 中,数据以 键/值 对的形式出现,并用逗号 ,
分隔。
JSON 源自 JavaScript。因此,JSON 语法类似于 JavaScript 对象字面量语法。但是,JSON 格式也可以被其他编程语言访问和创建。
注意:JavaScript 对象和 JSON 不是同一回事。您将在本教程后面了解它们的区别。
JSON 数据
JSON 数据包含 键/值 对,类似于 JavaScript 对象属性。键和值用双引号括起来,并用冒号 :
分隔。例如,
// JSON data
"name": "John"
注意:JSON 数据要求键必须使用双引号。
JSON 对象
JSON 对象写在大括号 { }
中。JSON 对象可以包含多个 键/值 对。例如,
// JSON object
{ "name": "John", "age": 22 }
JSON 数组
JSON 数组写在方括号 [ ]
中。例如,
// JSON array
[ "apple", "mango", "banana"]
// JSON array containing objects
[
{ "name": "John", "age": 22 },
{ "name": "Peter", "age": 20 }.
{ "name": "Mark", "age": 23 }
]
注意:JSON 数据可以包含对象和数组。但是,与 JavaScript 对象不同,JSON 数据不能包含函数作为值。
访问 JSON 数据
您可以使用点表示法访问 JSON 数据。例如,
// JSON object
const data = {
"name": "John",
"age": 22,
"hobby": {
"reading" : true,
"gaming" : false,
"sport" : "football"
},
"class" : ["JavaScript", "HTML", "CSS"]
}
// accessing JSON object
console.log(data.name); // John
console.log(data.hobby); // { gaming: false, reading: true, sport: "football"}
console.log(data.hobby.sport); // football
console.log(data.class[1]); // HTML
我们使用 .
表示法来访问 JSON 数据。其语法是:variableName.key
您也可以使用方括号语法 []
来访问 JSON 数据。例如,
// JSON object
const data = {
"name": "John",
"age": 22
}
// accessing JSON object
console.log(data["name"]); // John
JavaScript 对象与 JSON 对比
尽管 JSON 的语法与 JavaScript 对象相似,但 JSON 与 JavaScript 对象不同。
JSON | JavaScript 对象 |
---|---|
键/值对中的键必须使用双引号。 | 键/值对中的键可以不使用双引号。 |
JSON 不能包含函数。 | JavaScript 对象可以包含函数。 |
JSON 可以由其他编程语言创建和使用。 | JavaScript 对象只能在 JavaScript 中使用。 |
将 JSON 转换为 JavaScript 对象
您可以使用内置的 JSON.parse()
函数将 JSON 数据转换为 JavaScript 对象。例如,
// json object
const jsonData = '{ "name": "John", "age": 22 }';
// converting to JavaScript object
const obj = JSON.parse(jsonData);
// accessing the data
console.log(obj.name); // John
将 JavaScript 对象转换为 JSON
您也可以使用 JavaScript 内置的 JSON.stringify()
函数将 JavaScript 对象转换为 JSON 格式。例如,
// JavaScript object
const jsonData = { "name": "John", "age": 22 };
// converting to JSON
const obj = JSON.stringify(jsonData);
// accessing the data
console.log(obj); // "{"name":"John","age":22}"
JSON 的用途
JSON 是最常用的格式,用于在服务器与客户端之间传输数据(数据交换)。JSON 数据非常易于解析和使用。由于 JSON 数据只包含文本,因此访问和操作 JSON 数据速度很快。
JSON 是独立于语言的。您也可以在其他编程语言中创建和使用 JSON。
另请阅读