JavaScript JSON
JSON 是一种用于存储和传输数据的格式。
JSON 通常用于从服务器向网页发送数据。
什么是 JSON?
- JSON 代表 JavaScript Object Notation
- JSON 是一种轻量级的数据交换格式
- JSON 独立于语言 *
- JSON 是“自描述的”,易于理解
* JSON 语法源于 JavaScript 对象表示法语法,但 JSON 格式仅为文本。用于读取和生成 JSON 数据的代码可以使用任何编程语言编写。
JSON 示例
此 JSON 语法定义了一个 employees 对象:一个包含 3 个员工记录(对象)的数组
JSON 示例
{
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
}
JSON 格式评估为 JavaScript 对象
JSON 格式在语法上与创建 JavaScript 对象的代码相同。
由于这种相似性,JavaScript 程序可以轻松地将 JSON 数据转换为本机 JavaScript 对象。
JSON 语法规则
- 数据以名称/值对的形式存在
- 数据以逗号分隔
- 花括号用于包含对象
- 方括号用于包含数组
JSON 数据 - 名称和值
JSON 数据以名称/值对的形式编写,就像 JavaScript 对象属性一样。
一个名称/值对由一个字段名称(用双引号括起来)组成,后跟一个冒号,然后是一个值
"firstName":"John"
JSON 名称需要双引号。JavaScript 名称不需要。
JSON 对象
JSON 对象写在花括号内。
就像在 JavaScript 中一样,对象可以包含多个名称/值对
{"firstName":"John", "lastName":"Doe"}
JSON 数组
JSON 数组写在方括号内。
就像在 JavaScript 中一样,数组可以包含对象
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
在上面的示例中,对象 "employees" 是一个数组。它包含三个对象。
每个对象都是一个人的记录(包含名字和姓氏)。
将 JSON 文本转换为 JavaScript 对象
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>
自己尝试 »
您可以在我们的 JSON 教程 中了解更多关于 JSON 的信息。