JSON
关于JSON
- JSON是一种数据表达格式
- 原来是JS一部分,由于过于优秀,被从JS中分离出来,成为一种规范,是一种常用的数据传输格式
- 由于JSON原来是JS一部分,所以JS对JSON的支持还是比较优秀的
- 由于原生JS提供的JSON支持并不多,但有JSON4等外部JS库可以用
键值对
- 数据存储的一种方式,大概意义就是使用一个不变的量定位一个可变的量
- 变量就是一种常见的键值对,变量名为键名,变量值为键值
- 键名不变,否则就是另一个键了,键值可能变,也可以不变(常量)
JSON基本数据格式
数组
- 只有键值,不写键名,在赋值时会自动定义键名,也可以手动给指定键名赋键值
- JS数组键名是从0开始的
["a","b","c"]
- 数组中可以有多个元素,但是元素需要都是同一类型
键值对
- 键名和键值进行组合
{"a":3,"b":"Alpha","d":6.877}
- 键名必须为字符串,键值可以是其他数据类型
组合
-
这两种数据可以进行组合
[{status:0, data:[8,7,7,3], text:"2333" },{status:0, data:[2,6,7,1], text:"2333" },{status:0, data:[4,9,5,4], text:"2333" }]
-
重点:括号必须要完成嵌套,逗号分割不能少,标点符号全英文
- 可以发现,
[]
用于包括没有键名的值序列,{}
用来包括键值对,而不论是那种形式,一个整体都可以作为一个键值来使用
JSON中数据类型
- 此处特指键值
- 由于PHP,JS都是弱类型语言,我们处理数据时候文本和数字不做明显区分,反正都会自动转化,但是在其他语言运行时需要注意
- SQL自增数据必须为整数,且不能人工赋值
JSONP
- 一种数据传输方式
- 用于解决跨域访问被禁止等问题
- 即:服务器不直接返回数据,而是返回
Callback(数据)
内容 Callback
是定义在客户端的一个数据处理函数,名字可以自己定。所以通常JSONP从服务器获取数据时会传一个参数,告诉服务器该回调哪个函数- 该数据调用时以js文件形式获取,然后浏览器JS引擎会解析该数据,然后调用指定函数
<script src="http://example.com/3.php?callback=2166788">