← 返回博客

什么是 JSON?2026 年初学者完整指南

了解 JSON 是什么,它的语法、数据类型和使用场景。全面且对初学者友好的 JavaScript 对象表示法指南。

Big JSON Team10 分钟阅读beginner
B

Big JSON Team

Technical Writer

Expert in JSON data manipulation, API development, and web technologies. Passionate about creating tools that make developers' lives easier.

10 分钟阅读

# 什么是 JSON?2026 年初学者完整指南

JSON(JavaScript Object Notation)已成为网络数据交换的事实标准。无论您是初学编程者、数据分析师,还是对网络技术感兴趣的人,了解 JSON 在当今数字化环境中都是必不可少的。

JSON 代表什么?

JSON 代表 JavaScript Object Notation(JavaScript 对象表示法)。尽管名字中有 JavaScript,但 JSON 是一种独立于语言的数据格式,几乎可以与任何编程语言一起使用,包括 Python、Java、C#、PHP,当然还有 JavaScript。

JSON 的起源

JSON 由 Douglas Crockford 在 2000 年代初期推出,作为 XML 数据交换的轻量级替代方案。它的简洁性和可读性很快使其成为 Web API 和配置文件的首选。

为什么 JSON 在 2026 年很重要

在现代软件开发中,JSON 无处不在:

  • Web API:REST API 主要使用 JSON 作为请求和响应的有效载荷
  • 配置文件:应用程序使用 .json 文件进行设置和配置
  • NoSQL 数据库:MongoDB 和类似数据库以类似 JSON 的格式存储数据
  • 数据交换:系统通过在服务之间传递 JSON 进行通信
  • 人工智能和机器学习:模型配置和数据集通常使用 JSON

JSON 语法和结构

基本语法规则

JSON 语法遵循以下基本规则:

  • 数据以名称/值对形式存在"name": "value"
  • 数据由逗号分隔,
  • 大括号保存对象{}
  • 方括号保存数组[]
  • 字符串必须使用双引号"text"
  • 简单的 JSON 示例

    {
    

    "name": "张三",

    "age": 30,

    "isStudent": false,

    "email": "zhangsan@example.com"

    }

    JSON 数据类型

    JSON 支持六种基本数据类型:

    1. 字符串(String)

    字符串是用双引号括起来的字符序列:

    {
    

    "firstName": "李",

    "lastName": "明",

    "address": "北京市朝阳区建国路 123 号"

    }

    2. 数字(Number)

    数字可以是整数或浮点值:

    {
    

    "age": 25,

    "price": 19.99,

    "temperature": -5.5,

    "scientificNotation": 1.5e10

    }

    3. 布尔值(Boolean)

    布尔值为 truefalse(小写,无引号):

    {
    

    "isActive": true,

    "hasAccess": false,

    "verified": true

    }

    4. 空值(Null)

    null 值表示值的缺失:
    {
    

    "middleName": null,

    "previousJob": null

    }

    5. 对象(Object)

    对象是用大括号括起来的键值对集合:

    {
    

    "person": {

    "name": "王芳",

    "age": 28,

    "address": {

    "street": "上海市浦东新区世纪大道 456 号",

    "city": "上海",

    "zipCode": "200120"

    }

    }

    }

    6. 数组(Array)

    数组是用方括号括起来的有序值列表:

    {
    

    "colors": ["红色", "绿色", "蓝色"],

    "numbers": [1, 2, 3, 4, 5],

    "mixed": ["文本", 42, true, null]

    }

    复杂的 JSON 示例

    这是一个结合多种数据类型的更真实的示例:

    {
    

    "company": "科技创新有限公司",

    "founded": 2015,

    "active": true,

    "employees": [

    {

    "id": 1,

    "name": "陈欣",

    "role": "CEO",

    "skills": ["领导力", "战略", "财务"],

    "remote": false

    },

    {

    "id": 2,

    "name": "刘强",

    "role": "CTO",

    "skills": ["架构", "云计算", "安全"],

    "remote": true

    }

    ],

    "offices": {

    "headquarters": "北京",

    "branches": ["上海", "深圳", "广州"]

    },

    "revenue": 15000000.50,

    "publiclyTraded": null

    }

    JSON 与 JavaScript 对象的区别

    虽然 JSON 语法基于 JavaScript 对象字面量表示法,但有一些重要区别:

    | 特性 | JSON | JavaScript 对象 |

    |------|------|----------------|

    | 键 | 必须是双引号字符串 | 可以是不带引号的标识符 |

    | 字符串 | 仅双引号 | 单引号或双引号 |

    | 函数 | 不允许 | 允许 |

    | 注释 | 不允许 | 允许 |

    | 尾随逗号 | 不允许 | 允许(ES5+) |

    | 仅数据 | 是 | 可以包含方法 |

    JavaScript 对象:
    const person = {
    

    name: '张三',

    age: 30,

    greet() { return '你好!'; }

    };

    有效的 JSON:
    {
    

    "name": "张三",

    "age": 30

    }

    JSON 的常见用例

    1. Web API

    RESTful API 使用 JSON 作为请求和响应:

    {
    

    "endpoint": "/api/users",

    "method": "POST",

    "body": {

    "username": "newuser",

    "email": "user@example.com"

    }

    }

    2. 配置文件

    应用程序以 JSON 格式存储设置:

    {
    

    "database": {

    "host": "localhost",

    "port": 5432,

    "name": "myapp_db"

    },

    "cache": {

    "enabled": true,

    "ttl": 3600

    }

    }

    3. 数据存储

    像 MongoDB 这样的 NoSQL 数据库使用 BSON(二进制 JSON):

    {
    

    "_id": "507f1f77bcf86cd799439011",

    "title": "博客文章",

    "content": "文章内容在这里",

    "tags": ["技术", "json"],

    "createdAt": "2026-01-11T10:00:00Z"

    }

    4. 包管理

    NPM 的 package.json 定义项目依赖:

    {
    

    "name": "my-app",

    "version": "1.0.0",

    "dependencies": {

    "express": "^4.18.0",

    "mongoose": "^7.0.0"

    }

    }

    JSON 的优势

    1. 人类可读

    JSON 的简单语法使人类易于阅读和编写。

    2. 轻量级

    与 XML 相比,最小的语法意味着更小的文件大小。

    3. 语言独立

    几乎每种编程语言都存在解析器。

    4. 快速解析

    JSON 解析通常比 XML 解析更快。

    5. 原生 JavaScript 支持

    浏览器可以原生解析 JSON,无需外部库。

    JSON 的局限性

    1. 无注释

    JSON 不支持注释,使文档化变得具有挑战性。

    2. 有限的数据类型

    不原生支持日期、二进制数据或未定义的值。

    3. 无引用

    无法引用同一文档的其他部分。

    4. 冗长性

    数组中重复的键名可能会增加文件大小。

    JSON 最佳实践

    1. 使用一致的命名

    坚持一种命名约定(驼峰命名法、蛇形命名法或短横线命名法):

    {
    

    "firstName": "张",

    "lastName": "三",

    "emailAddress": "zhangsan@example.com"

    }

    2. 尽可能保持扁平

    避免过度嵌套,使数据难以导航:

    {
    

    "userId": "123",

    "userName": "zhangsan",

    "userEmail": "zhangsan@example.com"

    }

    3. 对列表使用数组

    将类似项目组合到数组中:

    {
    

    "users": [

    {"id": 1, "name": "李明"},

    {"id": 2, "name": "王芳"}

    ]

    }

    4. 验证您的 JSON

    在使用前始终验证 JSON。无效的 JSON 会导致解析错误。

    JSON 工作工具

    • 验证器:确保您的 JSON 格式正确
    • 格式化器:使用适当的缩进使 JSON 可读
    • 查看器:使用可折叠树导航大型 JSON 文件
    • 转换器:在 JSON 和其他格式之间转换

    结论

    JSON 是现代软件开发中必不可少的数据格式。其简洁性、可读性和跨编程语言的广泛支持使其成为数据交换、配置和存储的首选。

    无论您是在构建 Web 应用程序、使用 API,还是管理配置文件,了解 JSON 都是一项基本技能,将在您的整个开发过程中为您提供良好的服务。

    从简单的 JSON 结构开始练习,逐渐深入到更复杂的嵌套数据。随着时间的推移,读写 JSON 将成为第二天性。

    Share:

    相关文章

    Read in English