2026-04-24 21:05:48
JSON(JavaScript Object Notation)是一种基于文本的轻量级数据交换格式,以键值对为核心结构,支持多种数据类型,广泛用于跨平台数据传输。
一、JSON语法核心规则键值对结构
数据以"key":"value"形式呈现,键和值均用双引号包裹(值可为其他类型时除外)。
示例:
{ "name": "Tom", "age": 30 }数据分隔符
键值对间用逗号分隔,对象用花括号{}包裹,数组用方括号[]包裹。
示例(嵌套结构):
{ "students": [ { "firstName": "Tom", "lastName": "Jackson" }, { "firstName": "Linda", "lastName": "Garner" } ]}支持的数据类型
字符串:"value"(如"name": "Alice")
数字:整数或浮点数(如"age": 25)
布尔值:true或false(如"isStudent": false)
空值:null(如"middleName": null)
对象:嵌套键值对(如"address": { "city": "NY" })
数组:有序值集合(如"hobbies": ["reading", "swimming"])

对象存储
适用于结构化数据,通过键快速访问值。
示例(用户信息):
{ "id": 1001, "profile": { "name": "Tom", "age": 28 }}数组存储
适用于有序集合,支持混合数据类型。
示例(任务列表):
{ "tasks": [ { "id": 1, "title": "Write report" }, { "id": 2, "title": "Review code" } ]}
跨平台兼容性
被大多数编程语言(如JavaScript、Python、Java)原生支持,解析效率高于XML。
示例(Python解析JSON):
import jsondata = '{"name": "Tom"}'parsed_data = json.loads(data) # 转换为字典轻量级与高效性
文本格式压缩率高,适合网络传输。例如,相同数据量下JSON比XML体积小30%-50%。
跨域数据请求(JSONP)
通过回调函数绕过浏览器同源策略限制,实现跨域数据加载。
示例(前端调用JSONP接口):
<script src="以下是一个包含所有数据类型的JSON示例:
{ "className": "Class 2B", "year": 2022, "phoneNumber": null, "active": true, "teacher": { "firstName": "Richard", "lastName": "Roe" }, "students": [ { "firstName": "Jane", "lastName": "Doe" }, { "firstName": "Jinny", "lastName": "Roe" } ]}结构说明:

JSON凭借其简洁性、可读性和跨平台特性,已成为数据交换的标准格式。掌握其语法规则(键值对、数据类型、分隔符)和存储方式(对象/数组),可高效处理API响应、配置文件等场景。对于复杂需求,可结合JSON Schema进行数据验证,或使用工具(如Postman)测试接口返回的JSON结构。