什么是JSON:理解语法、存储JSON数据、示例

什么是JSON:理解语法、存储JSON数据、示例
最新回答
﹏澈

2026-04-24 21:05:48

JSON(JavaScript Object Notation)是一种基于文本的轻量级数据交换格式,以键值对为核心结构,支持多种数据类型,广泛用于跨平台数据传输。

一、JSON语法核心规则
  1. 键值对结构

    数据以"key":"value"形式呈现,键和值均用双引号包裹(值可为其他类型时除外)。

    示例:

    { "name": "Tom", "age": 30 }
  2. 数据分隔符

    键值对间用逗号分隔,对象用花括号{}包裹,数组用方括号[]包裹。

    示例(嵌套结构):

    { "students": [ { "firstName": "Tom", "lastName": "Jackson" }, { "firstName": "Linda", "lastName": "Garner" } ]}
  3. 支持的数据类型

    字符串:"value"(如"name": "Alice")

    数字:整数或浮点数(如"age": 25)

    布尔值:true或false(如"isStudent": false)

    空值:null(如"middleName": null)

    对象:嵌套键值对(如"address": { "city": "NY" })

    数组:有序值集合(如"hobbies": ["reading", "swimming"])

二、存储JSON数据的方法
  1. 对象存储

    适用于结构化数据,通过键快速访问值。

    示例(用户信息):

    { "id": 1001, "profile": { "name": "Tom", "age": 28 }}
  2. 数组存储

    适用于有序集合,支持混合数据类型。

    示例(任务列表):

    { "tasks": [ { "id": 1, "title": "Write report" }, { "id": 2, "title": "Review code" } ]}

三、JSON的优势与应用场景
  1. 跨平台兼容性

    被大多数编程语言(如JavaScript、Python、Java)原生支持,解析效率高于XML。

    示例(Python解析JSON):

    import jsondata = '{"name": "Tom"}'parsed_data = json.loads(data) # 转换为字典
  2. 轻量级与高效性

    文本格式压缩率高,适合网络传输。例如,相同数据量下JSON比XML体积小30%-50%。

  3. 跨域数据请求(JSONP)

    通过回调函数绕过浏览器同源策略限制,实现跨域数据加载。

    示例(前端调用JSONP接口):

    <script src="
    https://api.example.com/data?callback=handleResponse"></script><script>
    function handleResponse(data) { console.log(data); }</script>
四、完整JSON示例解析

以下是一个包含所有数据类型的JSON示例:

{ "className": "Class 2B", "year": 2022, "phoneNumber": null, "active": true, "teacher": { "firstName": "Richard", "lastName": "Roe" }, "students": [ { "firstName": "Jane", "lastName": "Doe" }, { "firstName": "Jinny", "lastName": "Roe" } ]}

结构说明:

  • 顶层为对象,包含6个键值对。
  • "teacher"对应嵌套对象,"students"对应数组。
  • 数据类型覆盖字符串、数字、布尔值、空值、对象和数组。

五、总结

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