JSON 是一种用于存储和传输数据的格式。
当数据从服务器发送到 Web 时,通常会使用 JSON 页。
JSON 代表 JavaScript Object Notation
JSON是一种轻量级的数据交换格式
JSON 与语言无关*
JSON 是“自描述”且易于理解
* JSON 语法源自 JavaScript 对象表示法语法,但 JSON 格式仅为文本。 可以用任何编程编写读取和生成 JSON 数据的代码 语言。
此 JSON 语法定义了一个员工对象:包含 3 个员工记录(对象)的数组:
{
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
}
JSON 格式在语法上与创建代码相同 JavaScript 对象。
由于这种相似性,JavaScript 程序 可以轻松将JSON数据转换为原生数据 JavaScript 对象。
数据以名称/值对的形式存在
数据以逗号分隔
大括号保存对象
方括号保存数组
JSON 数据以名称/值对的形式编写,就像 JavaScript 对象一样 特性。
名称/值对由字段名称(用双引号引起来)组成, 后跟一个冒号,后跟一个值:
"firstName":"John"
JSON 名称需要双引号。 JavaScript 名称则不然。
JSON 对象写在大括号内。
就像在 JavaScript 中一样,对象可以包含多个名称/值对:
{"firstName":"John", "lastName":"Doe"}
JSON 数组写在方括号内。
就像在 JavaScript 中一样,数组可以包含对象:
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
在上面的示例中,对象“employees”是一个数组。它包含三个 对象。
每个对象都是一个人的记录(带有名字和姓氏)。
JSON 的常见用途是从 Web 服务器读取数据, 并将数据显示在网页中。
为简单起见,可以使用字符串作为输入来演示这一点。
首先,创建一个包含 JSON 语法的 JavaScript 字符串:
let text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
然后,使用 JavaScript 内置函数 JSON.parse()
将字符串转换为 JavaScript 对象:
const obj = JSON.parse(text);
最后,在页面中使用新的 JavaScript 对象:
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<h2>Create Object from JSON String</h2>
<p id="demo"></p>
<script>
let text = '{"employees":[' +
'{"firstName":"John","lastName":"Doe" },' +
'{"firstName":"Anna","lastName":"Smith" },' +
'{"firstName":"Peter","lastName":"Jones" }]}';
const obj = JSON.parse(text);
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>
</body>
</html>
您可以在我们的 JSON 教程中阅读有关 JSON 的更多信息。