本文最后更新于276 天前,其中的信息可能已经过时,如有错误请发送邮件到2289035571@QQ.COM
感谢 TurboAI对本博客的的大力赞助。 创作不易,如果您觉得有帮助,请支持LIncol29!
JSON是什么?
- JSON = JavaScript Object Notation
- JSON是一种轻量级的数据交换格式,其为字符串类型
- JSON 的网络媒体类型是 application/json。
为什么要序列化和反序列化
- 目的是为了对象可以跨平台存储和网络传输,而网络传输的方式就是IO,而IO支持的数据格式就是字节数组
- 单方面将对线转成字节数组还不够,传输过去后还要约束转换规则将字节数组转换为对象
与 XML 相同之处
- JSON 是纯文本
- JSON 具有”自我描述性”(人类可读)
- JSON 具有层级结构(值中存在值)
- JSON 可通过 JavaScript 进行解析
- JSON 数据可使用 AJAX 进行传输
与 XML 不同之处
- 没有结束标签
- 更短
- 读写的速度更快
- 能够使用内建的 JavaScript eval() 方法进行解析
- 使用数组
- 不使用保留字
JSON 语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。
- 数据在名称/值对中 “firstName” = “Lincol”
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
JSON 值
JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
JSON 对象
{ "name":"w3cschool", "alexa":8000, "site":null }
JSON 对象使用在大括号({})中书写,对象可以包含多个 key/value(键/值)对。
其中:
- key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
- key 和 value 中使用冒号(:)分割。
- 每个 key/value 对使用逗号(,)分割。