什么是JSON?
JSON (JavaScript Object Notation) 是一种轻量级的、基于文本的数据交换格式。 尽管名称中包含“JavaScript”,但JSON实际上是一种语言无关的数据格式, 几乎所有现代编程语言都原生支持JSON的解析和生成。
核心特性
人类可读
清晰的文本格式,直观的键值对结构
机器友好
语法规则简单,解析速度快
语言无关
所有主流编程语言都支持
轻量级
相比XML更简洁,传输量更小
JSON语法规则
JSON基于两种结构:
- 对象:名称/值对的集合(类似于字典、哈希表)
- 数组:值的有序列表(类似于数组或向量)
基本语法示例
{
"name": "张三",
"age": 30,
"isActive": true,
"address": {
"city": "北京",
"zipCode": "100000"
},
"hobbies": ["编程", "阅读", "旅游"],
"spouse": null
}数据类型详解
1. 字符串 (String)
用双引号包围的零个或多个Unicode字符
"Hello World", "你好", "123", ""2. 数字 (Number)
十进制数字,支持整数和浮点数
42, -17, 3.14159, 0, 1.0e+23. 布尔值 (Boolean)
逻辑值,只有两个可能的值
true, false4. 空值 (null)
表示空值或不存在的值
null5. 对象 (Object)
键值对的无序集合
{ "key": "value", "number": 123 }6. 数组 (Array)
值的有序集合
[1, 2, 3], ["a", "b", "c"], [true, false, null]应用场景
Web APIs
现代Web API的标准数据格式,用于客户端和服务器之间的数据交换。
{
"status": "success",
"data": {
"users": [
{
"id": 1,
"username": "admin"
}
]
}
}配置文件
许多应用程序使用JSON作为配置文件格式。
{
"database": {
"host": "localhost",
"port": 3306
},
"logging": {
"level": "info"
}
}数据存储
广泛用于数据存储、缓存和网络传输。NoSQL数据库如MongoDB原生支持JSON格式。
AJAX通信
在Web开发中,JSON是AJAX请求的首选数据格式,用于异步数据交换。
最佳实践
✅ 推荐做法
- • 使用有意义的键名:
"firstName"而不是"fn" - • 保持一致的命名约定:驼峰命名法或下划线
- • 使用适当的数据类型:数字用数字类型,布尔值用布尔类型
- • 避免深度嵌套,保持结构扁平化
- • 使用数组来表示列表数据
❌ 避免的做法
- • 使用单引号:JSON必须使用双引号
- • 添加注释:标准JSON不支持注释
- • 使用undefined:JSON不支持undefined值
- • 键名不加引号:所有键名必须用双引号包围
- • 末尾添加逗号:JSON不允许尾随逗号
常见错误
语法错误
❌ 错误示例
{
'name': 'John', // 单引号
age: 30, // 键名没有引号
"city": "NYC", // 尾随逗号
}✅ 正确示例
{
"name": "John",
"age": 30,
"city": "NYC"
}字符编码问题
JSON必须使用UTF-8编码。确保特殊字符正确转义,如反斜杠需要写成 \\\\。
JSON工具推荐
本站提供的JSON工具
格式化
美化JSON结构,提高可读性
验证
检查JSON语法正确性
压缩
移除空白字符,减少文件大小
转换
JSON与XML、CSV格式互转
转义
处理转义字符串
可视化
树形结构展示