什么是 JSON 格式,完整入门指南
JSON 的定义与起源
JSON(JavaScript Object Notation,JavaScript 对象表示法)是一种轻量级的数据交换格式。它由 Douglas Crockford 在 2001 年提出,最初基于 JavaScript 对象语法,但很快发展成为一种独立于任何编程语言的通用数据格式。
今天,JSON 已经是互联网数据交换的事实标准。当你在手机 App 中刷新消息、网页中加载动态内容、或者调用任何 Web API 时,背后传输的数据绝大多数都是 JSON 格式。
JSON 的基本语法规则
JSON 的语法非常简洁,只有几条规则:数据由键值对组成,键名必须用双引号括起来;数据之间用逗号分隔;花括号 {} 表示对象;方括号 [] 表示数组;字符串用双引号,数字不加引号,布尔值写 true/false,空值写 null。
{
"name": "Alice",
"age": 30,
"isStudent": false,
"scores": [95, 87, 92],
"address": {
"city": "Beijing",
"zip": "100000"
},
"nickname": null
}
JSON 支持的六种数据类型
- 字符串(String):用双引号括起来的文本,如
"hello"、"2025-01-01" - 数字(Number):整数或浮点数,如
42、3.14、-100 - 布尔值(Boolean):只有
true或false - 数组(Array):有序的值列表,如
[1, "two", true] - 对象(Object):无序的键值对集合,如
{"key": "value"} - null:表示空值或不存在
注意:JSON 不支持注释、不支持单引号字符串、不支持日期类型(日期通常用字符串表示)、不支持 undefined、不支持函数。这些限制让 JSON 保持简洁且跨语言兼容。
JSON vs XML:为什么 JSON 赢了?
JSON 出现之前,XML 是 Web 数据交换的主要格式。JSON 取代 XML 的原因:更简洁(同样的数据,JSON 通常比 XML 小 30-50%);更易读(接近自然语言的结构);更易于编程语言解析(JavaScript 原生支持,其他语言也有成熟库);没有 XML 繁琐的开闭标签。
XML 仍然在某些场景中使用(如 Office 文档格式、某些企业系统),但在现代 Web API 中,JSON 已经绝对主导。
JSON 在 Web 开发中的应用
JSON 在 Web 开发中无处不在:REST API 返回的数据几乎全是 JSON;package.json 是 Node.js 项目的配置文件标准;浏览器的 localStorage 和 sessionStorage 通常存储 JSON 字符串;appsettings.json 是 .NET 应用的配置文件;数据库如 MongoDB 使用类 JSON 的 BSON 格式存储文档。
掌握 JSON 的读写和理解是现代开发者的基础技能,无论你是前端开发、后端开发、还是运维工程师,都必然会与 JSON 打交道。
如何验证 JSON 的合法性
JSON 的语法规则严格,常见错误包括:键名没有用双引号括起来(很多初学者习惯写 {name: "Alice"});字符串中有未转义的特殊字符;末尾多余的逗号([1, 2, 3,]);注释(JSON 不允许注释)。
使用在线 JSON 格式化工具可以即时验证 JSON 语法并高亮显示错误位置,是开发中快速排查 JSON 错误的必备工具。
JSON 的局限性
尽管 JSON 非常流行,它也有一些限制:不支持二进制数据(需要 Base64 编码,增加约 33% 大小);大型 JSON 文件解析消耗大量 CPU;不支持注释,配置文件难以加入说明(JSONC 和 JSON5 扩展解决了这个问题);数字精度问题(超过 15 位的整数可能丢失精度);不支持循环引用。
对于特定场景,其他格式可能是更好的选择:Protocol Buffers 用于高性能二进制传输;MessagePack 用于紧凑的二进制 JSON;YAML 用于人类可读的配置文件;CSV 用于纯表格数据。
立即免费使用相关工具
免费使用 →