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
let 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
let data = {
"name": "John",
"age": 22
}
// accessing JSON object
console.log(data["name"]); // John
JavaScript对象VS JSON
尽管JSON的语法与JavaScript对象相似,但JSON与JavaScript对象不同。
JSON | JavaScript Object |
---|---|
The key in key/value pair should be in double quotes. | The key in key/value pair can be without double quotes. |
JSON cannot contain functions. | JavaScript objects can contain functions. |
JSON can be created and used by other programming languages. | JavaScript objects can only be used in JavaScript. |
将JSON转换为JavaScript对象
您可以使用内置的JSON.parse()
函数将JSON数据转换为JavaScript对象。例如,
// json object
let jsonData = '{ "name": "John", "age": 22 }';
// converting to JavaScript object
let obj = JSON.parse(jsonData);
// accessing the data
console.log(obj.name); // John
将JavaScript对象转换为JSON
您还可以使用JavaScript内置的JSON.stringify()
函数将JavaScript对象转换为JSON格式。例如,
// JavaScript object
let jsonData = { "name": "John", "age": 22 };
// converting to JSON
let obj = JSON.stringify(jsonData);
// accessing the data
console.log(obj); // "{"name":"John","age":22}"
JSON的使用
JSON是从服务器到客户端(反之亦然)传输数据(数据交换)的最常用格式。 JSON数据非常易于解析和使用。由于JSON数据仅包含文本,因此访问和处理JSON的速度很快。
JSON与语言无关。您也可以使用其他编程语言来创建和使用JSON。