JSON 语法
JSON 语法
Section titled “JSON 语法”JSON(JavaScript 对象表示法)语法是一种轻量级的数据存储和传输格式。它易于人类阅读和书写,也易于机器解析和生成。
JSON 语法源自 JavaScript 对象字面量语法,但它有更严格的规则。
核心 JSON 语法规则
Section titled “核心 JSON 语法规则”- 数据以名称/值对的形式表示。
- 数据由逗号
,分隔。 - 对象用花括号
{}包围。 - 数组用方括号
[]包围。 - 名称(键)必须是字符串,用双引号
""包围。 - 值必须是允许的 JSON 数据类型之一。
JSON 数据 - 名称/值对
Section titled “JSON 数据 - 名称/值对”JSON 数据由名称/值对组成,类似于 JavaScript 对象中的属性或在其他语言中字典/映射(dictionaries/maps)中的键值对。
一个名称/值对由一个字段名称(键)、一个冒号 : 以及一个值组成:
"firstName": "Alice"重要提示:与 JavaScript 对象字面量(其中键有时可以不加引号)不同,JSON 键始终必须是用双引号 ("") 包围的字符串。
JSON 值
Section titled “JSON 值”JSON 中的值可以是以下数据类型之一:
- 一个字符串(用双引号
""包围,支持 Unicode 和反斜杠转义,如\n、\t)。 - 一个数字(整数或浮点数,与 JavaScript 不同,没有区分。不允许使用八进制和十六进制格式)。
- 一个对象(用花括号
{}包围)。 - 一个数组(用方括号
[]包围)。 - 一个布尔值(
true或false- 小写)。 null值(小写)。
JSON 不支持函数、日期(通常表示为 ISO 8601 格式的字符串)、undefined、注释或尾随逗号。
JSON 对象
Section titled “JSON 对象”JSON 对象表示名称/值对的集合。它们以 { 开头,以 } 结尾。每个名称后跟一个 :,名称/值对之间用 , 分隔。
JSON 对象示例:
{ "firstName": "Bob", "lastName": "Smith", "age": 30, "isStudent": false, "address": { "street": "123 Main St", "city": "Anytown" }}JSON 数组
Section titled “JSON 数组”JSON 数组表示有序的值列表。它们以 [ 开头,以 ] 结尾。值之间用 , 分隔。
包含字符串的 JSON 数组示例:
["apple", "banana", "cherry"]数组可以包含不同类型的值,包括其他数组或对象:
{ "department": "Sales", "employees": [ { "firstName": "Alice", "lastName": "Green" }, { "firstName": "Bob", "lastName": "Smith" }, { "firstName": "Charlie", "lastName": "Brown" } ]}在此示例中,与键 "employees" 关联的值是包含三个 JSON 对象的数组。
JSON 与 JavaScript
Section titled “JSON 与 JavaScript”由于 JSON 的语法是 JavaScript 对象字面量语法的子集,因此在 JavaScript 中处理 JSON 非常简单。
你可以使用 JSON.parse() 轻松地将 JSON 字符串解析为 JavaScript 对象,并使用 JSON.stringify() 将 JavaScript 对象序列化为 JSON 字符串。
请考虑以下 JavaScript 对象:
const employees = [ { "firstName": "Alice", "lastName": "Green" }, { "firstName": "Bob", "lastName": "Smith" }];访问数据是标准的 JavaScript 操作:
// 访问第一个员工的名字console.log(employees[0].firstName); // 输出:Alice
// 使用方括号表示法访问第二个员工的姓氏console.log(employees[1]["lastName"]); // 输出:Smith修改数据也是标准的 JavaScript 操作:
employees[0].firstName = "Alicia";console.log(employees[0].firstName); // 输出:Alicia接下来的章节将介绍如何在 JSON 文本和 JavaScript 对象之间进行转换,以及如何获取 JSON 数据。
JSON 文件和 MIME 类型
Section titled “JSON 文件和 MIME 类型”- JSON 文件的标准文件扩展名是
.json。 - JSON 文本的官方 MIME(多用途互联网邮件扩展)类型是
application/json。