JSON 的核心特性
- 
数据结构: - 
支持两种基本结构: - 
对象(Object):键值对集合,用 {}包裹,例如{ "name": "Alice", "age": 30 }。
- 
数组(Array):有序值列表,用 []包裹,例如["apple", "banana", "orange"]。
 
- 
- 
支持嵌套(对象内包含数组,数组内包含对象)。 
 
- 
- 
数据类型: - 
字符串(String): "Hello"
- 
数字(Number):整数或浮点数(如 42,3.14)
- 
布尔值(Boolean): true或false
- 
空值(Null): null
- 
对象(Object)和数组(Array)。 
 
- 
- 
语法规则: - 
键名必须用双引号包裹( "key")。
- 
值可以是任意数据类型。 
- 
键值对用逗号分隔,最后一个键值对后不能有逗号。 
 
- 
JSON 示例
{ "name": "张三", "age": 28, "isStudent": false, "hobbies": ["读书", "编程", "跑步"], "address": { "city": "北京", "postcode": "100000" } }
JSON 的主要用途
- 
Web API 数据交换: - 
前后端通信(如通过 HTTP 请求发送 JSON 数据)。 
- 
例如,RESTful API 通常以 JSON 格式返回数据: { "status": 200, "data": { /* ... */ } } 
 
- 
- 
配置文件: - 
许多工具(如 VS Code、ESLint)使用 .json文件存储配置。
- 
例如 package.json定义 Node.js 项目的依赖和脚本。
 
- 
- 
NoSQL 数据库: - 
MongoDB、Firebase 等数据库直接存储 JSON 格式的数据。 
 
- 
JSON 与其他格式对比
| 特性 | JSON | XML | YAML | 
|---|---|---|---|
| 可读性 | 高(简洁) | 中(标签冗余) | 高(缩进清晰) | 
| 体积 | 小 | 大 | 中 | 
| 解析速度 | 快 | 慢 | 中 | 
| 注释支持 | 否 | 是 | 是 | 
JSON 工具
- 
序列化与反序列化: - 
JavaScript: JSON.parse()(字符串 → 对象),JSON.stringify()(对象 → 字符串)。
- 
Python: json.loads()和json.dumps()。
- 
Java:Jackson、Gson 等库。 
 
- 
- 
格式化和验证: - 
在线工具:JSONLint、JSON Formatter。 
- 
IDE 插件:VS Code 自动高亮和格式化。 
 
- 
注意事项
- 
严格语法:键必须用双引号,末尾不能有多余逗号。 
- 
安全性:解析不可信 JSON 时需防范注入攻击(如 JavaScript 的 eval()不安全)。
- 
性能:处理超大 JSON 文件时需使用流式解析(如 Python 的 ijson)。
 
                                     
                                     
                                    
发表评论 取消回复