什么是JSON?

JSON的全称是JavaScript Object Notation(JavaScript对象表示法)。它是一种轻量级的数据交换格式,用于在不同系统之间传递信息。

JSON的起源

JSON源自JavaScript,但现在已成为独立于语言的数据格式,几乎所有的编程语言都支持JSON。

JSON的主要用途

  • 在Web应用程序中传输数据(服务器⇔客户端)
  • 存储结构化数据(如配置文件)
  • API接口数据交换
  • 不同程序间的数据传输
💡 为什么JSON如此受欢迎?

1. 简单易懂:人类和机器都能轻松阅读
2. 轻量级:相比XML等其他格式,JSON更简洁
3. 广泛支持:几乎所有编程语言都有JSON解析器
4. 快速解析:计算机能快速处理JSON数据

JSON的基本结构

JSON主要有两种结构形式:对象数组

JSON对象

JSON对象用花括号{ }包裹,由键值对组成:

{
  “name”: “张三”,
  “age”: 28,
  “isStudent”: false
}

键(Key)必须是字符串,用双引号包裹。值(Value)可以是字符串、数字、布尔值、数组、对象或null。

JSON数组

JSON数组用方括号[ ]包裹,包含一系列值:

[
  “苹果”,
  “香蕉”,
  “橙子”
]

数组中的元素可以是各种数据类型,甚至可以混合不同类型:

[
  “文本”,
  42,
  true,
  null
]

JSON支持的数据类型

JSON支持以下基本数据类型:

数据类型 示例 说明
字符串(String) “Hello JSON” 必须用双引号包裹
数字(Number) 42, 3.14, -10 整数或浮点数
布尔值(Boolean) true, false 真或假
空值(null) null 表示空值或无值
对象(Object) {“key”: “value”} 键值对集合
数组(Array) [“a”, “b”, “c”] 值的有序列表
⚠️ 重要注意事项

1. JSON中没有注释功能
2. 字符串必须使用双引号(单引号无效)
3. 最后一个属性后面不能有逗号

JSON实际应用示例

下面是一个更复杂的JSON例子,包含了多种数据类型和嵌套结构:

{
  “student”: {
    “name”: “李梅”,
    “age”: 20,
    “major”: “计算机科学”
  },
  “courses”: [
    “数据结构”,
    “算法分析”,
    “数据库系统”
  ],
  “graduated”: false,
  “contact”: null
}

JSON结构可视化

📁 根对象
  ├─ 📁 student (对象)
  │   ├─ name: “李梅”
  │   ├─ age: 20
  │   └─ major: “计算机科学”
  ├─ 📂 courses (数组)
  │   ├─ 🍎 [0]: “数据结构”
  │   ├─ [1]: “算法分析”
  │   └─ [2]: “数据库系统”
  ├─ 🏷 graduated: false
  └─ contact: null

试试JSON解析

在JavaScript中,我们可以使用内置方法解析JSON:

// 将JSON字符串转换为JavaScript对象
let jsonString = ‘{“name”:”张三”, “age”:30}’;
let obj = JSON.parse(jsonString);

// 访问对象的属性
console.log(obj.name); // 输出: 张三

// 将JavaScript对象转换为JSON字符串
let newObj = { city: “北京”, population: 21540000 };
let jsonOutput = JSON.stringify(newObj);
console.log(jsonOutput); // 输出: {“city”:”北京”,”population”:21540000}